我正在尝试使用pageMod在页面加载时运行脚本:
但我看不到它的效果
var data = require("sdk/self").data;
var attachTo = require("sdk/content/mod").attachTo;
var pageMod = require("sdk/page-mod");
pageMod.PageMod({
include: "*",
contentScriptWhen: "start",
allow:true,
attachTo: ["existing", "top"],
contentScriptFile: [data.url("jquery-2.1.1.min.js"),
data.url("somejs.js")],
})
在我的somejs.js文件中,我覆盖了表单提交功能:
document.forms['frmMain'].submit=function submit(){alert("Submitting")...
...do some stuff
};
我的网页上有一个提交表单的按钮:
frmMain.method="post"
frmMain.action = "someurl";
frmMain.submit();
但是,当我单击按钮时,它不会调用我上面定义的替代方法。
当我使用Firebug控制台覆盖该功能时,它起作用了!
因此,firebug是如何运行命令的,以便我可以在自己的附加代码中执行相同的操作来实现相同的功能。
最佳答案
每Interacting with page scripts您会
以下对我有用:
function submit() {
console.log("Submitting");
alert("Submitting");
};
unsafeWindow.document.forms['frmMain'].submit =
exportFunction(submit, unsafeWindow);
关于javascript - FireFox插件: How to override native js function,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24850709/