我正在尝试开发一个没有sdk的无重启的firefox扩展,我希望能够操作页面的DOM,但是文档,content.document或unsafeWindow.document都返回undefined。
我的bootstrap.js代码:
Components.utils.import("resource://gre/modules/Services.jsm");
function startup(data,reason) {
Components.utils.import("chrome://myextension/content/plugin-min.js");
}
function shutdown(data,reason) {
Components.utils.unload("chrome://myextension/content/plugin-min.js");
}
function install(data,reason) { }
function uninstall(data,reason) { }
和我的plugin-min.js代码:
document.addEventListener('keydown',activate); // document undefined
content.document.addEventListener('keydown',activate); // content undefined
unsafeWindow.document.addEventListener('keydown',activate); // unsafeWindow undefined
Mozilla仅针对SDK用户发布了解决方案,而我所做的谷歌搜索只带来了这些SDK解决方案。 :/
但就我而言,有谁知道我错过了什么?
非常感谢。
答案 0 :(得分:1)
主扩展程序脚本无法直接访问文档。您应该注入文档自己的内容脚本,并通过异步消息传递(端口对象)与它交换。
此外,您可以提供一个上下文脚本数组 - 在这种情况下,所有这些脚本都将被导入:
documentready
不确定加载订单,但在 [HttpPost]
public ActionResult SearchForCompanies(FormCollection collection)
{
CompanySearch search = new CompanySearch();
search.CompanyList = CompanyData.GetList();
return this.RedirectToAction("SearchForCompanies", "Company", new {companySearch = search});
}
evrything可访问之后。