我正在尝试学习Firefox的WebExtension开发.我发现窗口调试工具非常有用,因为我可以在窗口上下文中交互式地评估javascript代码.
对于浏览器级别的Webextension API,在尝试类似地使用浏览器控制台时,我完全没有成功.例如,尝试使用选项卡API
单击menu-> developer-> browser console
在控制台命令行中输入以浏览器开头的任何表达式
"ReferenceError:浏览器未定义"
我尝试过使用chrome并得到同样的错误(阅读有关chrome.*vs browser的文章.*)
例如,尝试查找所有标签:
var querying=browser.tabs.query(queryInfo)
Run Code Online (Sandbox Code Playgroud)
要么
chrome.tabs.query()
Run Code Online (Sandbox Code Playgroud)
返回未定义的浏览器或chrome
请帮忙
我对此有点陌生。请帮忙
我试图从函数返回一个承诺。这似乎很有效,直到我尝试在现有承诺的 then 中返回承诺。
我正在尝试在 FireFox 扩展中执行此操作。下面的代码是为 node.js 编写的,因为我认为它可能会提供更多解释。我不知道如何使它工作。
函数 topLevel 调用函数 level2。level2 等待一个 promise 来解决,然后将一个 promise 返回给 level1。level1 登录其 .then。
level2 在其内部 promise 被解析后调用 level3 并返回一个新的 promise
在示例中,所有承诺都会立即解决。该示例与基本要素配对
function topLevel() {
level2()
.then(() => {
console.log("topLevel resolved")
})
}
let testError=true;
function level2() {
if(testError) {
new Promise((resolve, reject) => {
resolve("Level 2");
})
.then(() => {
return (level3());
})
}
else {
return (level3());
}
}
function level3(){
return (new Promise((resolve, reject) => {
resolve("Level 3");
}));
} …Run Code Online (Sandbox Code Playgroud) javascript node.js promise es6-promise firefox-addon-webextensions