小编kas*_*hif的帖子

FireFox Addon:如何覆盖原生js函数

我试图使用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")],


})
Run Code Online (Sandbox Code Playgroud)

在我的somejs.js文件中,我有覆盖表单提交功能:

document.forms['frmMain'].submit=function submit(){alert("Submitting")... 
...do some stuff  

};
Run Code Online (Sandbox Code Playgroud)

在我的网页上有一个提交表单的按钮:

    frmMain.method="post"
    frmMain.action = "someurl";
    frmMain.submit();   
Run Code Online (Sandbox Code Playgroud)

但是当我点击按钮时,它不会调用我在上面定义的覆盖方法.当我使用firebug控制台覆盖该功能时它的工作原理!那么firebug做什么来运行命令,以便我可以在我的插件代码中执行相同的操作.

javascript firefox firefox-addon firefox-addon-sdk

6
推荐指数
1
解决办法
1138
查看次数