2014-02-13 130 views
0

我目前的代碼如下。然而,這只是繼續循環,我不知道爲什麼會發生。Chrome擴展迴路

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.removeListener不是documented method。您可能不得不使用變量來跟蹤回調是否已被執行,而不是刪除監聽器。

+0

但是,如何刪除偵聽器呢? – user2755352

+0

就像我說過的,你必須跟蹤一個跟蹤你什麼時候已經回覆的變量。 – abraham