0
我怎麼知道我的執行是否成功?
我知道executeScript提供了一個回調函數,但如果腳本由於某種原因被阻塞,回調將永遠不會發生。chrome.tabs.executeScript - 成功了嗎?
我怎麼知道?
我怎麼知道我的執行是否成功?
我知道executeScript提供了一個回調函數,但如果腳本由於某種原因被阻塞,回調將永遠不會發生。chrome.tabs.executeScript - 成功了嗎?
我怎麼知道?
有兩種方法來檢查chrome.tabs.executeScript
調用是否成功:
results
屬性是一個數組(它是未定義的故障)。chrome.runtime.lastError
屬性是否已設置(這是推薦的方式)。chrome.tabs.executeScript(tabId, {
code: '// some code'
}, function(result) {
if (chrome.runtime.lastError) { // or if (!result)
// Get the error message via chrome.runtime.lastError.message
return;
}
});
前面的例子只有當同時插入內容腳本發生錯誤顯示。它不顯示運行時錯誤的任何錯誤。如果您想查明腳本中是否發生錯誤,請打開該選項卡的devtools。如果您需要知道背景頁面是否發生錯誤,請從內容腳本中返回一個值以表明腳本已經(不)正常運行。
最後一個表達式的值傳遞給chrome.tabs.executeScript
(在數組中,因爲在設置了allFrames:true
時傳遞了多個值)的回調。