Kon*_*nin 17 javascript google-chrome-extension
有时候选项卡ID存储在一个变量中,你需要检查选项卡是否仍然存在,然后再对其进行操作(因为用户可以随时关闭选项卡).我找到了这个解决方案:
chrome.tabs.get(1234567, function(tab) {
if (typeof tab == 'undefined') {
console.log('Tab does not exist!');
}
});
Run Code Online (Sandbox Code Playgroud)
它有效,但它有很严重的缺点.它将错误消息写入控制台,如下所示:
tabs.get期间出错:没有标识为1234567的标签.
这也不例外.所以try/catch无济于事.这只是控制台中的一条消息.
有任何想法吗?
更新:此错误现在看起来像"运行tabs.get时未检查runtime.lastError:没有标识为1234567的选项卡".
ang*_*inb 18
function callback() {
if (chrome.runtime.lastError) {
console.log(chrome.runtime.lastError.message);
} else {
// Tab exists
}
}
chrome.tabs.get(1234,callback);
Run Code Online (Sandbox Code Playgroud)
源Chrome扩展程序错误:"运行browserAction.setIcon时未选中runtime.lastError:没有带标识的选项卡"
编辑:
Chrome会检查是否在回调中检查了chrome.runtime.lastError的值,并为此"未处理的异步异常"输出控制台消息.如果你检查它,它不会污染控制台.
来自@Xan的评论
| 归档时间: |
|
| 查看次数: |
7425 次 |
| 最近记录: |