十几年前的系统,只支持ie,里面针对表单的处理大量使用了form.all("itemname")方法,导致在目前IE外的主流浏览器上无法运行
除了逐个修改为form["itemname"]之外,请问有没有别的办法可以直接改写form.all方法?比如引入一个公用js文件,在js文件中对form.all方法进行重写?
谢谢!
十几年前的系统,只支持ie,里面针对表单的处理大量使用了form.all("itemname")方法,导致在目前IE外的主流浏览器上无法运行
除了逐个修改为form["itemname"]之外,请问有没有别的办法可以直接改写form.all方法?比如引入一个公用js文件,在js文件中对form.all方法进行重写?
谢谢!
13 回答12.8k 阅读
7 回答1.9k 阅读
3 回答1.1k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
6 回答872 阅读✓ 已解决
6 回答1k 阅读
2 回答1.3k 阅读✓ 已解决
DEMO,你可以再chrome和ie中看一下,看上去就是查找所有标签就完了。
form.all == form.getElementsByTagName('*')
。但是你传入itemname
当做方法用的。测试了一下发现id
和name
都可以查找可以改成更新-2019年2月12日17:46:15
可以看到
form.__proto__
是HTMLFormElement
,可以直接修改这个的HTMLFormElement.prototype
。HTMLFormElement.prototype===form.__proto__
搞定了。你可以去上面那个demo里面看