我正在編寫一個Chrome擴展,它使用chrome.windows.onFocusChanged.addListener
來執行內容腳本。只要我在不同的chrome窗口之間切換,這工作正常,但是,當Chrome關閉時,偵聽器也會被觸發。在這種情況下,函數內的代碼會導致擴展崩潰。chrome.windows.onFocusChanged.addListener在關閉Chrome時崩潰,崩潰插件
我試圖爲未定義的chacking,但似乎並沒有問題。
代碼lookls鏈接纔可這個
chrome.windows.onFocusChanged.addListener(function()
{
var ctab = chrome.tabs.getCurrent;
if(typeof ctab === "undefined")
{
}
else
{
chrome.tabs.executeScript(ctab.id,{file:"inject.js"}); //THIS LINE CRASHES THE APP WHEN I CLOSE THE BROWSER
}
});
我有一個計劃的阿勒特,這也是執行腳本(這會導致崩潰當我關閉調度和執行之間的瀏覽器)類似的問題。
function onAlarm(alarm)
{
if (alarm && alarm.name == 'check')
{
var ctab = chrome.tabs.getCurrent;
chrome.tabs.executeScript(ctab.id,{file:"inject.js"}); //CRASH
//more code...
有沒有人知道如何避免這種崩潰?
編輯:工作實施例
的manifest.json
{
"name": "Rest Extension",
"description": "Set an Artnet Controler to the background collor",
"manifest_version": 2,
"version": "1",
"permissions": ["tabs", "http://*/*", "https://*/*", "background", "alarms"],
"background": {"scripts": ["background.js"]},
"content_scripts": [{"matches": ["http://*/*", "https://*/*"],"js": ["inject.js"]}],
"browser_action":
{
"default_icon": "16x16.png",
"default_popup": "popup.html"
}
}
background.js
chrome.windows.onFocusChanged.addListener(function()
{
var ctab = chrome.tabs.getCurrent;
if(typeof ctab === "undefined")
{
}
else
{
chrome.tabs.executeScript(ctab.id,{file:"inject.js"}); //THIS LINE CRASHES THE APP WHEN I CLOSE THE BROWSER
}
})
所有其他文件可以是空的(包括inject.js)
你說的崩潰是什麼意思?你可以創建一個自包含的示例,並在http://crbug.com/new –
報告錯誤它可能不是一個鉻錯誤(我認爲),但與我的編程有關的問題。崩潰時,我的意思是關閉屏幕右下角的瀏覽器後,顯示通知,擴展程序崩潰,我可以單擊該通知重新啓動擴展程序。 –