Je suis bloqué sur un problème d'échappement de devis pour la dernière heure (en JavaScript). Ici, il est:Citer escape mindblow - JavaScript
var injectScript = function() {
var scriptToInject = "" +
"secretFunction(secretElement.setSecretAttribute('<button class='button-default'>MyButton</button>'));";
secretService.sendRequest(scriptToInject);
}
Donc, le but de ma fonction injectScript() est d'injecter du code JavaScript. Cela fonctionne habituellement mais avec cet exemple particulier, ce n'est pas le cas.
Sur le code que j'ai inclus, vous pouvez voir que j'essaie d'injecter la fonction secretFunction(). Cette fonction modifie simplement certains attributs d'éléments dans une page HTML.
Mais dans la console Chrome, le code de mon élément est le suivant:
<button class="'button-default'">MyButton</button>
Je ne sais pas pourquoi il est à la fois »et » Le résultat que je pense est:.
<button class="button-default">MyButton</button>
J'ai essayé beaucoup d'astuces d'échappement (\ ", \ ', etc.), mais non fonctionnent .. Des idées?
Puisque nous ne savons pas comment secretService.sendRequest, secretElement.setSecretAttribute ou travail secretFunction, cela est assez difficile à déboguer. – Quentin