2010-09-27 7 views
1

Je développe une extension à partir de Chrome et j'ai besoin de faire quelques changements au code de la page après son chargement. mais le problème est l'événement window.onload n'est pas utile de nos jours où presque n'importe quel site Web utilise AJAX. Vous ne pouvez pas supposer que tout le contenu est déjà chargé car window.onload est déclenché avant que toutes les requêtes AJAX aient été chargées. Donc, je veux être capable de capturer tous les onreadystatechange appartenant à n'importe quelle XMLHttpRequest et gérer cet événement dans mon extension ..... est-ce encore possible? les prototypes aident-ils ici?en utilisant JavaScript comment capturer tout XMLHttpRequest onreadystatechange?

+0

Je ne suis pas familier avec l'API Chrome, mais je suppose que même s'il est possible de détecter le changement de système onread, il ne vous suffira pas car vous ne saurez pas combien de requêtes ont été déclenchées. –

+0

Je ne me soucie pas des demandes spécifiques, je dois être en mesure de savoir quand un XMLHttpRequest dans la page est fait de charger coz c'est quand les concours de page changent – CoDeR

+1

Jetez un oeil ici: http://stackoverflow.com/questions/9920515/intercept-or-catch-ajax-appels-avec-javascript – Nakilon

Répondre

3

Je ne crois pas que ce soit directement possible, bien que vous pourriez peut-être remplacer window.XMLHttpRequest par votre propre objet qui servait de proxy à un vrai XMLHttpRequest (mais en envoyant des rappels globaux à votre propre code).

Mais vous ne pouvez pas vraiment supposer qu'un XMLHttpRequest est quelque chose à voir avec le chargement du contenu de toute façon. Un script peut écrire une charge de contenu sur n'importe quel événement d'interaction ou même un timeout non provoquée.

Si vous avez besoin de savoir à quel moment du nouveau contenu est ajouté au document, vous avez probablement besoin de DOM Mutation Events.

Questions connexes