我正在创建一个火狐浏览器扩展。我想在JSM文件中获取窗口对象的引用。
然后使用以下方式导入该文件:
Components.utils.import("resource://js/my_module.jsm");
在 my_module.jsm 中有这一行代码:
var jQenv = window.content.document;
出现错误,提示“window未定义”。
我如何在JSM文件中访问窗口对象?
我正在创建一个火狐浏览器扩展。我想在JSM文件中获取窗口对象的引用。
然后使用以下方式导入该文件:
Components.utils.import("resource://js/my_module.jsm");
var jQenv = window.content.document;
出现错误,提示“window未定义”。
我如何在JSM文件中访问窗口对象?
要访问您想要的窗口对象,请参阅此文档。
这里是我插件“Power Bookmarks”中的一些代码:
gBrowser.contentDocument.documentElement.getElementsByTagName("body")[0].innerHTML+="<div id=\"powerbookmarks.div\" style=\"background-color: black; padding-left: 2px; z-index: 9999; opacity: 0.8; width: 100% !important; position: fixed; bottom: 0px; left: 0px; height: 45px !important; color: white !important;\">Content removed to keep it short</div>";
这将让您访问当前的body元素,gBrowser.contentDocument
可能是窗口,其中.documentElement
是实际文档。
您可以通过单击chrome > content > overlay.js在https://addons.mozilla.org/en-US/firefox/files/browse/92549上下文中查看代码。
希望这可以帮助到您。