0
我正在尝试使用FF add-on builder编写我的第一个Firefox扩展。我不明白为什么看起来我的代码没有运行,因为alert
都没有弹出。 alert("Main");
为什么不创建一个弹出窗口?使用Firefox附加组件生成器中的警报
main.js
alert("Main");
var data = require("sdk/self").data;
var pageMod = require("sdk/page-mod");
pageMod.PageMod({
include: "*",
contentScriptFile: data.url("noredirectlinks.js"),
contentScriptWhen: "ready"
});
noredirectlinks.js
alert("Content script");
var allLinks = document.getElementsByTagName("a");
for (var i=0, il=allLinks.length; i<il; i++) {
elm = allLinks[i];
if (elm.getAttribute("onclick")) {
elm.onclick = null;
}
if (elm.getAttribute("onmousedown")) {
elm.onmousedown = null;
}
}
我在'main.js'中删除了警报,感谢那里的解释。 当我再次测试时,'noredirectlinks.js'中的警报起作用。然而,起初我并不认为这是因为我在本地HTML文件上测试过它。出于某种原因,不符合'“*”'模式,但其他网站显示警报。 是的,它在数据文件夹中,这就是一切。 我不认为它有任何错误,因为我可以让它作为Chrome扩展工作。然而,某些行为的行为与我预期的不同,因为如果我点击某个链接并点击链接,“onmousedown”事件仍然会发生。 – GDanger
我在这里也是新来的,因为LaurentG回答了问题,因为我应该重新发布一个新问题来解释为什么我没有根据需要取消“onmousedown”事件? – GDanger
您应该使用'content.document'访问文档。请参阅[本页](https://developer.mozilla.org/en-US/docs/Extension_Frequently_Asked_Questions#Accessing%5Fthe%5Fdocument%5Fof%5Fa%5Fwebpage%5Fdoesn%27t%5Fwork)。 – LaurentG