我怎么知道我的执行是否成功? 我知道executeScript提供了一个回调,但如果脚本由于某种原因被阻止,则回调将永远不会发生。
我怎么知道?
答案 0 :(得分:1)
有两种方法可以检查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
时会传递多个值)。