J'ai un script de contenu qui s'exécute sur chaque page. Il met à jour le html de la page, ce qui semble prendre plus de temps sur des pages plus longues (le script parcourt le DOM plusieurs fois). Sur les pages plus longues, le script peut prendre jusqu'à 10-20 secondes pour terminer, et il semble que lorsque le chrome est trop long, le script s'arrête, car sur ces pages, je ne vois qu'une partie de la page modifiée. La partie étrange est que lorsque j'ajoute plusieurs alertes quelque part dans le code, en divisant le temps d'exécution en plusieurs parties, le script fonctionne parfaitement bien et modifie la page entière. Cependant, lorsque l'alerte est supprimée, le script est à nouveau arrêté prématurément et seule une partie de la page est modifiée. Ma seule conclusion est que le chrome arrête les scripts qui durent trop longtemps, donc ma question est - est-ce vrai? Et si oui, que peut-on faire à ce sujet? (en plus d'utiliser des alertes pop-up ennuyeuses)Est-ce qu'un script de contenu d'extension chrome est arrêté si cela prend trop de temps pour terminer?
J'ai une autre théorie, le script s'arrête parce qu'il y a un conflit quand des commandes simultanées essayent de changer le DOM. Est-ce que cela a plus de sens?
Plus de détails sur l'architecture: La page d'arrière-plan reçoit un message du script de contenu. Ce message inclut une fonction de rappel (la fonction qui modifie réellement le code HTML). Cette fonction est appelée plusieurs fois à partir de la page d'arrière-plan, par rapport à la longueur de la page. Si j'insère une alerte dans la fonction de rappel, chaque appel est exécuté sans problème. Si toutefois je le supprime, seul le premier appel de la page d'arrière-plan est effectué, et d'autres appels ne font rien (bien que le code de la page d'arrière-plan continue à fonctionner).
ouais je connais ces invites, elles ne s'affichent pas. il semble juste le tuer sans préavis. aucune idée pourquoi/comment l'empêcher de se produire? – Uri
btw il tue le script pas la page entière. – Uri