我写一个Chrome扩展,我想所有呼叫拦截到一个表单的提交方式,并有选择地允许/禁止它们。拦截提交()调用形式
这似乎是点击一个表单的提交按钮时表单onsubmit事件仅触发,而不是当提交()被调用。所以这不会有帮助。
我想我可以使用窗体的原型破解我自己提交方法在那里,这可能吗?
我写一个Chrome扩展,我想所有呼叫拦截到一个表单的提交方式,并有选择地允许/禁止它们。拦截提交()调用形式
这似乎是点击一个表单的提交按钮时表单onsubmit事件仅触发,而不是当提交()被调用。所以这不会有帮助。
我想我可以使用窗体的原型破解我自己提交方法在那里,这可能吗?
我不知道改变的原型,但你绝对可以覆盖的形式对象本身提交功能(这经常发生,当设计师决定给提交按钮的名称=“提交”属性没有明显原因) 。
所以,你可以只是做一个节点查询找到所有的表格,并更换每个人的财产提出用自己的包装功能。
document.someform.submitOrig = document.someform.submit;
document.someform.submit = function() {
this.onsubmit();
this.submitOrig();
};
这工作,感谢GGG
'window.HTMLFormElement.prototype.oldsubmit = window.HTMLFormElement.prototype.submit; window.HTMLFormElement.prototype.submit = function(){//你的代码。如果允许:this.oldsubmit()}' – ampersand
为什么不看看jQuery的源代码来看看他们如何捕获提交操作? – JesseBuesking