Jquery IE8兼容性
环境: jsp+jquery-1.11.1.min.js
问题描述:
使用$("#article标签id名").append(“xxxxxxxxx") ,chrome、firefox、ie10全部可以正常增加元素,唯独ie8下显示为空,调试无数次,才意识到IE9以下不支持HTML5标签,以下是百度到的解决办法,放在里面即可。
这段代码的意思是如果ie版本低于ie8,就创建所有HTML5新标签。
实际使用的时候,目的是达到了,
但是ie任何版本浏览器页面左上角会出现代码
汗。。。最后把
调试的过程中,还碰到两个问题,一起记录一下
1.ie8不支持 $("title").html("xxxx") 的写法,而且会直接报错导致后面的js无法执行,
改为document.title="xxxxx" 即可。
2.ie8下使用append()函数为在指定标签末尾插入html字符串时,a标签必须要有结束标签
例如 $("#td1").html("这是一个链接");
这种写法在chrome、firefox、ie10都没问题,可是在ie8下就不行,ie8会直接忽略掉没有结尾的a标签,所以必须写成 $("#td1").html("这是一个链接"); 这种规范的形式。
(一般人应该都不会忘记写结束标签,这是维护代码的时候碰到的一个坑)
在维护公司网站的时候,发现在IE8下jquery会报对象不支持此属性或方法、缺少对象的错误:
在其他浏览器就可以正常运行,当前使用的jquery版本是3.1.1,查资料发现jquery从2.0开始不支持IE8,最后支持IE8的版本是1.9。因为公司的台式机自带的浏览器是IE8,所以决定兼容一下IE8。思路是通过判断IE浏览器的版本来加载对应版本的jquery。
使用
可以判断IE浏览器版本是不是8 最终代码:
这样如果不是IE8则只加载上3.1.1,是IE8的话后加载的会覆盖前面的