2011-07-21 70 views
0

我知道如何在內容腳本中訪問localstorage,但只有一次。我通過sendRequest訪問它,但是當我嘗試在事件函數中使用此方法時,jvascript文件甚至無法加載。 是否有可能多次訪問這些選項,比如每當onclick事件被觸發時? 我查看了谷歌代碼網站,發現了使用chrome.extension.connect()在內容腳本和背景之間創建連接的內容。我需要使用它嗎?Chrome擴展程序:在內容腳本中多次訪問本地存儲

謝謝!

+0

你能展示你的代碼嗎? – serg

回答

1

其實你可以使用sendRequest很多次就可以了,但如果你想這樣做的另一種方式,你可以打開一個long-lived channel(或我稱之爲「信息通道」)內容腳本和背景頁之間進行通信。

在你內容腳本,您可以使用
var port = chrome.extension.connect({name: "myChannel"}); 開闢一條通道。

然後你可以使用
port.postMessage({message: "This is a message."});
發送新郵件到background page

port.onMessage.addListener(function(msg) { })收聽新消息。

在你背景頁

chrome.extension.onConnect.addListener(function(port) { 
    port.onMessage.addListener(function(msg) { 
     if(port=="myChannel"){ 
      console.log(msg+" from port "+port)  //Gives you the message 
     } 
    }) 
}) 

偵聽特定端口的新消息。

相關問題