Generuję wartości z bazy danych (tak naprawdę nie jest otwarta na publiczne wejście, ale jest otwarta na wejście dla użytkownika w firmie - co oznacza, że nie martwię się o XSS ).
Próbuję wygenerować taki tag:
<a href="" onclick="DoEdit('DESCRIPTION');">Click Me</a>
OPIS to tak naprawdę wartość z bazy danych, która wygląda mniej więcej tak:
Prelim Assess "Mini" Report
Próbowałem zamienić „na \”, ale bez względu na to, co próbuję, Firefox przerywa moje wywołanie JavaScript po spacji po słowie Assess i powoduje wiele problemów.
Muszę odmówić oczywistej odpowiedzi, ale nie potrafię tego rozgryźć przez całe życie.
Czy ktoś chciałby zwrócić uwagę na moją idiotyzm?
Oto cała strona HTML (ostatecznie będzie to strona ASP.NET , ale aby to rozwiązać, wyjąłem wszystko inne oprócz kodu problemu)
<html>
<body>
<a href="#" onclick="DoEdit('Preliminary Assessment \"Mini\"'); return false;">edit</a>
</body>
</html>
onclick
załącznik do wydarzenia był dyskretny i przenieść wszystkie informacje z bazy danych na wyspę danych. Wszystko będzie czystsze, a gdy nie uda ci się uniknąć znaków, pojawi się błąd składniowy.