getElementById работает только после обновления страницы - PullRequest
0 голосов
/ 28 октября 2010

Я пытаюсь получить доступ к div результатов на странице результатов google.co.uk.Используя firebug, можно увидеть, что id div - это «res», но по какой-то причине getElementById('res') терпит неудачу.чтобы сделать вещи еще более странными - если я обновляю страницу (F5 или Ctrl + F5), функция завершается успешно.

Кроме того, если я смотрю в исходном коде страницы результатов, я не вижу ничего похожего наDOM описан в firebug.

Почему это происходит и как я могу гарантировать, что getElementById('res') будет успешным при любом обновлении пользователем.

Спасибо.

РЕДАКТИРОВАТЬ: im добавлениекороткий код для упрощения проблемы.после размещения запроса в google.co.uk страница перенаправляется, и всплывающее уведомление «работает», но второе предупреждение не появляется.после обновления всплывают оба предупреждения, хотя второе говорит 0, что неверно, потому что у div есть дети в соответствии с DOM firebug.

ps: я также не смог упомянуть, что я использую greasmonkey

(function() {
alert('working');
var results = document.getElementById('res');
alert(results.childNodes.length);
})();

1 Ответ

0 голосов
/ 28 октября 2010
window.addEventListener("DOMContentLoaded", function () {
    var results = document.getElementById('res');
    alert(results.childNodes.length);
}, false);
...