2014-02-13 3 views
0

현재 아래 코드가 있습니다. 그러나 이것은 계속해서 루핑을 계속하며 왜 그런 일이 일어나는지 알 수 없습니다.크롬 확장 루프

chrome.runtime.onMessage.addListener(function(request, sender) { 
    url = request.url; 
    UName = request.username; 
    PWord = request.password; 
    chrome.tabs.update(sender.tab.id, {url: request.redirect}); 
    chrome.tabs.onUpdated.addListener(function (changeInfo) { 

     chrome.tabs.query({active: true, currentWindow: true}, function(tabs) { 
      chrome.tabs.sendMessage(tabs[0].id, {message: "hello", username: UName, password: PWord}, function(response) { 
      }); 
     chrome.tabs.onUpdated.removeListener(); 
     return; 
     }); 
    }); 
}); 
+0

메시지를 보내는 중입니까? –

+0

content.js에서 background.js로 메시지를 보낸 다음 리디렉션 후에 content.js에 메시지를 다시 보냅니다. – user2755352

답변

0

chrome.tabs.onUpdated.removeListenerdocumented method 없습니다. 리스너를 제거하는 대신 콜백이 아직 실행되었는지 추적하기 위해 변수를 사용해야 할 것입니다.

+0

그런데 어떻게 청취자를 제거하겠습니까? – user2755352

+0

내가 말했듯이, 이미 응답했는지 여부를 추적하는 변수를 추적해야합니다. – abraham