Ste*_*ton 3 javascript tabs google-chrome google-chrome-extension
我正在尝试获取当前窗口的所有选项卡并循环浏览它们。
当前使用的代码:
chrome.tabs.query({currentWindow: true}, function(result) {
result.forEach(function(tab) {
do stuff here;
});
});
Run Code Online (Sandbox Code Playgroud)
我在清单中具有“标签”的权限。
它引发错误:“错误:表单tabs.query(object)的调用与定义tabs.query(object queryInfo,function callback)在...不匹配。”
我很困惑,因为我显然拥有对象和回调函数。我还在其他地方看到,可以用一个诺言来代替它:
var query = chrome.tabs.query({currentWindow: true});
query.then(function(tabs) {
tabs.forEach(function(tab) {
do stuff here;
});
});
Run Code Online (Sandbox Code Playgroud)
但这会引发相同的错误。有任何想法吗?
基于承诺的方法仅在使用browser.*名称空间而不是Firefox时有效chrome.*
Chrome本身并未为其API提供Promises,但如果您愿意,Mozilla 也提供了polyfill。
您的第一个代码段是正确的,不会引发此错误。确保检查所有调用,tabs.query 并正确地重新加载扩展以使更改生效。
| 归档时间: |
|
| 查看次数: |
1085 次 |
| 最近记录: |