javascript - 从 Firefox 扩展访问 iFrame 的 dom

标签 javascript firefox xul firefox-addon

我花了很长时间尝试不同的方法来让它工作,但没有任何效果,文档也没有太大帮助。

我试图在动态注入(inject)页面的 iframe 中填充表单。要注入(inject)我做的 iframe:

myObject.iframe = document.createElement("iframe");
myObject.iframe.setAttribute("src", data.url);
myObject.iframe.setAttribute("id","extension-iframe");
myObject.window.document.getElementById('publisher').appendChild(myObject.iframe);
myObject.iframe.addEventListener("load", function(){
    myObject.populate(data);
}, false);

它工作正常并且确实触发了 populate() 方法。我的问题是获取该 iframe 的文档或窗口对象。我已经尝试了以下所有方法:

myObject.iframe.window
myObject.iframe.document
myObject.iframe.content

但这些都是未定义的。

我还尝试将事件对象传递给 iframe 的加载事件监听器,然后执行以下操作:

event.originalTarget

但这也没有用。

我正在阅读以下文档:

但要么我不理解它,要么它没有得到正确解释。

任何人都可以解释一下吗?

谢谢!

最佳答案

您是否尝试过使用 contentWindow属性(property)?

var doc = iframe.contentWindow.document;

关于javascript - 从 Firefox 扩展访问 iFrame 的 dom,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1785185/

相关文章:

javascript - 将 HTML 变量传递给 Javascript

css - 下拉 CSS 导航在 Firefox 中不起作用

firefox - 如何使用 XUL/Firefox 扩展执行后台加载和抓取页面

css - 某些 CSS 类在 FF 中停止工作,但在 Chrome 中仍然有效

javascript - 删除子节点会阻止其他兄弟节点被删除吗?

macos - 如何在 Mac OS X 中访问(收听)多媒体键(播放/暂停)?

javascript - 可以手动安装socket.io吗?

javascript - 转换 Geojson 嵌套数组数据并将其打印为 jquery 中的列表

javascript - 在 javascript 中用双引号提供时,正则表达式不起作用

html - Firefox HTML5 无效表单消息气泡位置