Je génère des valeurs à partir d'une base de données (elle n'est pas vraiment ouverte à l'entrée publique, mais elle est ouverte à l'entrée par un utilisateur de l'entreprise - ce qui signifie que je ne m'inquiète pas pour XSS ).
J'essaie de sortir une balise comme celle-ci:
<a href="" onclick="DoEdit('DESCRIPTION');">Click Me</a>
DESCRIPTION est en fait une valeur de la base de données qui ressemble à ceci:
Prelim Assess "Mini" Report
J'ai essayé de remplacer "par \", mais peu importe ce que j'essaye, Firefox continue de couper mon appel JavaScript après l'espace après le mot évaluer , et cela provoque toutes sortes de problèmes.
Je dois rejeter la réponse évidente, mais pour la vie de moi, je ne peux pas le comprendre.
Quelqu'un veut-il souligner mon idiotie?
Voici la page HTML entière (ce sera finalement une page ASP.NET , mais pour résoudre ce problème, j'ai retiré tout le reste sauf le code du problème)
<html>
<body>
<a href="#" onclick="DoEdit('Preliminary Assessment \"Mini\"'); return false;">edit</a>
</body>
</html>
onclick
pièce jointe d'événement discrète et de déplacer toutes vos informations de base de données dans un îlot de données. Les choses seront plus propres et vous obtiendrez en fait une sorte d'erreur de syntaxe lorsque vos chaînes s'échapperont mal.