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。

 

posted @ 2018-09-25 09:57  zhengmengen  阅读(530)  评论(0)    收藏  举报