Ich gebe Werte aus einer Datenbank aus (sie ist nicht wirklich öffentlich zugänglich, aber für Benutzer eines Unternehmens offen - das heißt, ich mache mir keine Sorgen um XSS ).
Ich versuche, ein Tag wie folgt auszugeben:
<a href="" onclick="DoEdit('DESCRIPTION');">Click Me</a>
BESCHREIBUNG ist eigentlich ein Wert aus der Datenbank, der ungefähr so aussieht:
Prelim Assess "Mini" Report
Ich habe versucht, "durch \" zu ersetzen, aber egal was ich versuche, Firefox unterbricht meinen JavaScript-Aufruf nach dem Leerzeichen nach dem Wort " Assess" immer wieder und verursacht alle möglichen Probleme.
Ich muss die offensichtliche Antwort verfehlen, aber für mein Leben kann ich es nicht herausfinden.
Möchte jemand auf meine Idiotie hinweisen?
Hier ist die gesamte HTML-Seite (es wird irgendwann eine ASP.NET- Seite sein, aber um dies zu lösen, habe ich alles andere als den Problemcode herausgenommen).
<html>
<body>
<a href="#" onclick="DoEdit('Preliminary Assessment \"Mini\"'); return false;">edit</a>
</body>
</html>
onclick
Ereignisanhang unauffällig zu machen und alle Ihre Datenbankinformationen auf eine Dateninsel zu verschieben. Die Dinge werden sauberer und Sie erhalten tatsächlich eine Art Syntaxfehler, wenn Ihre Zeichenfolgen falsch maskiert werden.