Javascript 获取有关iframe加载的通知
我正在开发一个扩展,每当iframe加载并准备就绪时,我都需要得到通知。我使用了Javascript 获取有关iframe加载的通知,javascript,firefox-addon,firefox-addon-sdk,Javascript,Firefox Addon,Firefox Addon Sdk,我正在开发一个扩展,每当iframe加载并准备就绪时,我都需要得到通知。我使用了page mod,但没有得到预期的输出。这是我的代码: var data = require("sdk/self").data; var pageMod = require("sdk/page-mod"); pageMod.PageMod({ include: ['*'], contentScriptFile: data.url("pageNavData.js"), contentScriptWhen: "r
page mod
,但没有得到预期的输出。这是我的代码:
var data = require("sdk/self").data;
var pageMod = require("sdk/page-mod");
pageMod.PageMod({
include: ['*'],
contentScriptFile: data.url("pageNavData.js"),
contentScriptWhen: "ready",
attachTo: ["frame"],
onAttach: function(worker) {
worker.port.on("gotElement", function(elementContent) {
console.log(elementContent);
});
}
});
而pageNavData.js
是:
self.port.emit("gotElement", document.location.href);
有人能看出这有什么问题吗?这里的问题是在连接侦听器之前发出了
“gotElement”
消息
您可以通过以下方式进行修复:
setTimeout(_ => self.port.emit("gotElement", document.location.href));
如果您不需要contentScript,只需在
onAttach
处理程序中执行您想要执行的操作。代码看起来很好。你看到了什么输出?可能会有帮助。