67 votes

Erreur: tentative d'exécution du script compile-and-go sur une étendue effacée

Depuis la mise à jour de Firefox 4.0, j'ai remarqué que je suis parfois d'avoir une erreur dans la console indiquant:

tentez d'exécuter, de compiler et d'aller script sur une effacé portée

La seule information que je peux trouver à ce sujet sur le net est actuellement sur le mozilla groupes du forum, où il est suggéré que c'est quelque chose à voir avec la session de la restauration. Dans mon cas, si je n'ai pas été en mesure de reproduire de manière fiable l'erreur, ça arrive à tout moment, et pas seulement après une restauration.

Quel est le problème? Comment puis-je arrêter l'erreur?

9voto

jakub.g Points 3734

Pour moi (Firefox 11, Firebug 1.9.1), cela se produit parfois après l'actualisation de la page (F5 ou CTRL + F5) alors que le débogueur est suspendu sur un point d'arrêt.

La solution semble être de continuer l'exécution du script et d' actualiser la page uniquement lorsque Firebug n'est pas en pause .

7voto

Nowaker Points 2449

Dans mon cas, il a été document.write méthode à l'origine du problème sur Firefox 4, 5, 6 sur Windows. Versions de Linux ne sont pas affectés. Ce que j'avais à faire est de remplacer document.write méthode.

J'ai conscience que document.write ne doit pas être utilisé de nos jours, mais deployJava.js, un standard de l'Applet Java script de déploiement écrit par Sun/Oracle, est de l'utiliser. Google est de l'utiliser dans les annonces Google AdSense. document.write est partout.

<script>
    var documentWriteOutput = '';
    var got = document.write;
    document.write = function(arg) { documentWriteOutput += arg; }
</script>
<script src="badScriptThatIsUsingDocumentWrite.js"></script>
<script>
    runBadScriptThatIsUsingDocumentWrite();
    document.write = got;
    // Do whatever you want with the documentWriteOutput
    // e.g. $('#somewhere').html(documentWriteOutput);
</script>

J'espère que cette aide. Cependant, j'ai vu beaucoup de "solutions" sur l'Internet qui ne fonctionne pas pour moi. Cela peut signifier que "la Tentative d'exécution de la compilation et de script sur une effacé portée" est un JavaScript de Firefox, le moteur de problème/bug.

6voto

Nate C-K Points 3749

J'ai remarqué que cette erreur peut se produire si vous écrivez pour le document par document.écrire après le document le chargement est terminé (par exemple, dans un appel de fonction à partir de JQuery $(document).prêt() la méthode). Lorsque cela se produit, il semble que Firefox supprime l'ancien document et écrit une nouvelle. Je ne sais pas si c'est nouveau comportement ou pas. Il semble que lorsque vous essayez de faire fonctionner sur l'ancien document, par exemple avec des sélecteurs JQuery, vous obtenez cette erreur. Pour moi, la fixation du script en question de ne pas appeler de document.écrire après le document avait chargé correction de l'erreur.

5voto

Liam Points 5214

J'ai remarqué que si je désactive le cache, je ne reçois plus cette erreur dans la console.

2voto

Wolfgang Points 295

L'erreur ne se produit pas si Firebug (dans mon cas 1.8) est désactivé.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X