2
我已經讀過所有相關的錯誤,我認爲這種情況有點不同。我試圖從後臺上下文發送消息到內容腳本。例如。chrome.tabs.sendMessage:「端口錯誤:無法建立連接。接收端不存在「僅在緩存頁面上
chrome.tabs.query({
currentWindow: true,
active: true
}, function(tabs){
chrome.tabs.sendMessage(tabs[0].id, {
name: name,
args: args
}, function(response){
if (!response) return callback('You tried to message a tab that does not exist');
});
});
如果安裝了擴展前的開放標籤加載,這將拋出一個Port error
。要重新創建:
- 打開一個新的標籤,加載網頁
- 導航到擴展選項卡,並重新加載本地解壓擴展
- 導航回到網絡選項卡,並通過瀏覽器調用行動爲延長 - 除非手動重新加載網頁,否則會拋出
Port error
。
有沒有解決方法?
謝謝,我擔心可能是這種情況。也許你非常熟悉 - 如果用戶在同一個標籤頁/網址上反覆調用瀏覽器操作,腳本是否會在該頁面上重複執行,從而導致重複的消息? – 2013-04-29 12:58:51
@ChristopherCliff是的,但是你可以保存一個變量來查看腳本是否已經運行。例如:https://github.com/Rob--W/pdf.js/blob/57e623/extensions/chrome/insertviewer.js#L126-L128 – 2013-04-29 13:06:38
非常好,謝謝! – 2013-04-29 15:39:25