J'essaie d'accéder aux résultats div dans la page de résultats de google.co.uk. En utilisant firebug on peut voir que l'id de la div est "res" mais pour une raison quelconque getElementById('res')
échoue. pour rendre les choses encore plus bizarres - si je rafraîchis la page (F5 ou ctrl + F5), la fonction réussit.getElementById ne fonctionne qu'après l'actualisation de la page
Aussi, si je regarde dans le code source de la page de résultats, je ne vois rien qui ressemble au DOM décrit dans firebug.
Pourquoi cela se produit-il et comment puis-je m'assurer que getElementById('res')
réussira avec n'importe quel rafraîchissement par l'utilisateur.
Merci.
EDIT: im ajoutant un code court pour simplifier le problème. après avoir placé une requête dans google.co.uk la page redirige et l'alerte «fonctionne» apparaît mais la deuxième alerte n'est pas. après l'actualisation, les deux alertes pop mais la seconde indique 0 ce qui n'est pas correct car la div a des enfants selon le DOM firebug.
p.s: i a également omis de mentionner que im en utilisant Greasemonkey
(function() {
alert('working');
var results = document.getElementById('res');
alert(results.childNodes.length);
})();
Vous devez nous montrer un peu de code. La seule façon dont getElementById() échouera est si l'élément n'existe pas ou si l'identifiant fourni n'est pas unique sur la page. – Robusto
Etes-vous sûr que votre code est en train de se gâcher après le chargement de google.co.uk? – madeinstefano
On dirait que vous avez un problème de synchronisation. Y at-il une erreur comme "null ou pas un objet"? – epascarello