IE版本导致的代码报错问题
上一个项目中,遇到一个问题,同样的功能,在带教老师的电脑上能用,但是在我的电脑上不能用。
在浏览器中调试时,找到了代码的出错点;document.getelementbyid('xxx').value处无法向未定义或null进行赋值。
前端代码里面也确实没有ID叫"xxx"的DOM节点,最终才知道,是IE浏览器的版本问题,只要在浏览器中设置兼容模式就可以正常使用了。
1.IE兼容模式设置方法:
① 开发时,可以通过修改浏览器兼容模式来解决。
参考链接: https://jingyan.baidu.com/article/3f16e0031d945d2591c1032f.html
② 项目上线后,不能要求使用IE11的用户都去设置兼容模式,最好能直接在代码中对浏览器的解析模式进行设定,这也是可以实现的。
参考链接: https://blog.csdn.net/wangzl1163/article/details/50904827
2.IE8和IE11的区别:
这个在官网应该能看到,但是我没找着 = = 欢迎大佬指导补充
3.document.getelementbyid('')和document.getelementbyname('')的区别
参考链接: http://quxc1984.iteye.com/blog/947185
4.IE各版本对JS的支持情况
参考链接: https://blog.csdn.net/a460550542/article/details/71681370
5.JS获取浏览器类型和版本的方法
参考链接: https://www.jb51.net/article/107428.htm
6.个人问题总结
document.getelementbyid('')在IE11里面严格按照ID去寻找相应的DOM,而在IE8等低版本IE浏览器中,document.getelementbyid('')不仅找ID,还会去找name。

浙公网安备 33010602011771号