我知道如何在內容腳本中訪問localstorage,但只有一次。我通過sendRequest訪問它,但是當我嘗試在事件函數中使用此方法時,jvascript文件甚至無法加載。 是否有可能多次訪問這些選項,比如每當onclick事件被觸發時? 我查看了谷歌代碼網站,發現了使用chrome.extension.connect()在內容腳本和背景之間創建連接的內容。我需要使用它嗎?Chrome擴展程序:在內容腳本中多次訪問本地存儲
謝謝!
我知道如何在內容腳本中訪問localstorage,但只有一次。我通過sendRequest訪問它,但是當我嘗試在事件函數中使用此方法時,jvascript文件甚至無法加載。 是否有可能多次訪問這些選項,比如每當onclick事件被觸發時? 我查看了谷歌代碼網站,發現了使用chrome.extension.connect()在內容腳本和背景之間創建連接的內容。我需要使用它嗎?Chrome擴展程序:在內容腳本中多次訪問本地存儲
謝謝!
其實你可以使用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
}
})
})
偵聽特定端口的新消息。
你能展示你的代碼嗎? – serg