2015-10-16 9 views
0

У меня есть расширение chrome, где страница перезагружается из сценария содержимого. Скрипт содержимого запускается с использованием chrome.tabs.executeScript() из моего popup.js на текущей активной вкладке.Как получить доступ к DOM из сценария контента после перезагрузки страницы?

После перезагрузки я не могу привязываться к событию прокрутки окна из сценария содержимого. Есть ли способ вернуть перезагруженную DOM для привязки к событию прокрутки?

Обновление:

popup.js

chrome.tabs.executeScript(null, { file: 'sendArticleLength.js', allFrames: true}, function(result) { 
    count = result;     
    chrome.tabs.reload(targetTabID, function() { 
    chrome.tabs.executeScript({file: 'sendRemainingTime.js', allFrames: true}, function(){     
      chrome.tabs.sendMessage(targetTabID, {wordcount:count}); 
    }); 
}); 

sendRemainingTime.js

chrome.runtime.onMessage.addListener(function(request, sender, sendResponse){ 
    if(request.wordcount) { 
     wc = request.wordcount; 
     window.onscroll = function(){ 
      alert('scrolled!'); 
     } 
    } 
}); 

В sendRemainingTime.js, я хочу, чтобы привязать к OnScroll события после перезагрузки запускается в popup.js отделки. Но в настоящее время onscroll связывается перед перезагрузкой.

ответ

1

Update:

Как отладка показала, что реальная проблема была что-то другое :-), а именно, использование в var location = уступки, которые на самом деле перезагружается страницу и тот факт, что chrome.tabs.reload немедленно выполняет свою функцию обратного вызова, не дожидаясь страницы на самом деле перезагрузить, так что chrome.tabs.onUpdated прослушиватель решил проблему.

+0

Что нужно отправить через sendMessage? Я хочу прослушать событие прокрутки окна на перезагруженной странице, но в настоящее время оно является обязательным до перезагрузки страницы, несмотря на использование обратного вызова 'chrome.tabs.reload (, callback)' – hsemarap

+0

Не важно, что вы отправляете, для пример '" reject "'. Если вам нужна специальная помощь с кодом, отредактируйте вопрос и добавьте код, который у вас есть сейчас. – wOxxOm

+0

Я отредактировал вопрос, пожалуйста, посмотрите – hsemarap