我寫一個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