Firefox addon Firefox插件SDK选项卡访问
我遵循的是一个来自 像这样稍加修改Firefox addon Firefox插件SDK选项卡访问,firefox-addon,firefox-addon-sdk,Firefox Addon,Firefox Addon Sdk,我遵循的是一个来自 像这样稍加修改 var bodyHTML; tabs.on('activate', function(tab) { tab.attach({ contentScript: 'self.postMessage(document.body.innerHTML);', onMessage: function (message) { bodyHTML = message; console.log("From attach : " + bo
var bodyHTML;
tabs.on('activate', function(tab) {
tab.attach({
contentScript: 'self.postMessage(document.body.innerHTML);',
onMessage: function (message) {
bodyHTML = message;
console.log("From attach : " + bodyHTML);
}
});
});
console.log("After tab : " + bodyHTML);
现在,当我执行这个插件时,console.log(“在tab:+bodyHTML之后)首先执行code>,然后执行console.log(“从附件:+bodyHTML”)代码>。问题可能是什么?我如何安排执行顺序?调用tabs.on()
会设置一个事件。它不会直接导致其他任何事情发生。onMessage
属性中的函数由内容脚本发布的消息触发,内容脚本本身由激活选项卡(通常是访问网页)触发。console.log()
在其上方的tabs.on()
调用之后执行,很可能是在附加任何选项卡之前。tabs.on()
调用设置事件。它不会直接导致其他任何事情发生。onMessage
属性中的函数由内容脚本发布的消息触发,内容脚本本身由激活选项卡(通常是访问网页)触发。console.log()
在其上方的tabs.on()
调用之后执行,最有可能在附加任何选项卡之前执行
var bodyHTML;
tabs.on('activate', function(tab) {
tab.attach({
contentScript: 'self.postMessage(document.body.innerHTML);',
onMessage: function (message) {
bodyHTML = message;
console.log("From attach : " + bodyHTML);
}
});
});
console.log("After tab : " + bodyHTML);