【Javascript】 IE8兼容性问题汇总

本章是在网页开发过程中所碰到的IE8兼容性问题做一个汇总。

尼玛太坑了,屡次踩坑,总是没记性。而且更坑的是IE8的开发者工具太难用了,想调试都调试不出来。

不得已只好记录下来,下次出问题了好方便排查。

JS脚本中,必须遵循以下规则,否则都将导致JS脚本在IE8 错误。

1.所有js脚本的语句结束之后,必须以分号结束。

2.数组(Array)对象声明或赋值时,注意不能有多余的逗号(,)如:

var arrNum = [1,2,4,];
var arrStr = [
    {key:1},
    {key:2},
];

3.json对象声明或赋值时,同样不能有多余的逗号(,),如:

var jsonObj = {
     key:"111" ,
     value:"222222",
};

4.事件绑定时,最好使用jquery进行绑定,而不要直接用onclick事件。原因有待调查。如:

------------- 推荐方式-----------------------
<div class=‘button‘ ></div>
<script>

    $(".button").click(function(){
        alert(1111111);
    });
</script>

---------------不推荐方式--------------------
<div class=‘button‘ onclick=‘alert(3333333);‘></div>

  

 

时间: 2024-08-29 16:09:27

【Javascript】 IE8兼容性问题汇总的相关文章

记录遇到的IE8兼容性问题汇总

1,伪元素:first-child不起作用,需要单独指定样式名称 2,透明度表示方法,尤其在函数中表示 @mixin opacity($value) { -webkit-opacity: $value; -moz-opacity: $value; -ms-opacity: $value; -o-opacity: $value; filter: alpha(opacity=$value*100); //0~100的,所以这里需要*100 opacity: $value; } 3,input文字垂直

浏览器兼容性问题汇总

# 浏览器兼容性问题汇总 ## 问题1 ### first-child ## <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <style> div p:first-child { color: red; } </style> </head> <

【转】浏览器兼容性问题汇总

浏览器兼容性问题汇总 1:margin-left在IE6不生效(复现条件:块状元素.浮动.margin-left) ---------解决方法:http://www.seostudying.com/1233.html 2: position:fixed 在ie6 .ie7(quirk) . ie8(quirk)下被当成错误处理.-----------解决方法:http://blog.sina.com.cn/s/blog_106f3d140100yaok.html 解决思路:用 _position

bootstrap IE8 兼容性处理

1 <!DOCTYPE html> 2 <html lang="zh-CN"> 3 4 <head> 5 <meta charset="utf-8"> 6 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 7 <meta name="viewport" content="wi

JavaScript Array 数组方法汇总

JavaScript Array 数组方法汇总 1. arr.push() 从后面添加元素,返回值为添加完后的数组的长度 var arr = [1,2,3,4,5] console.log(arr.push(5)) // 6 console.log(arr) // [1,2,3,4,5,5] 2.arr.unshift() 从前面添加元素, var arr = [1,2,3,4,5] console.log(arr.unshift(2)) // 6 console.log(arr) //[2,1

JavaScript数组方法的兼容性写法 汇总:indexOf()、forEach()、map()、filter()、some()、every()

ECMA Script5中数组方法如indexOf().forEach().map().filter().some()并不支持IE6-8,但是国内依然有一大部分用户使用IE6-8,而以上数组方法又确实非常好用.在过去,我会为了兼容性尽量不用这些方法.但是,总不能为了旧的丢了新的吧?!虽然说jQuery已经集成好了不少语法糖,但jQuery体积太庞大,作为一名志于体面的前端儿得知道原生的兼容性写法要怎么写.于是这几天,我开始在琢磨这些方法的兼容性写法.其实并不难,就是以前不够自信不敢写.写完以后,

ie8下面margin:0 auto;不能居中的解决方案,ie8兼容性代码

今天写了个div,用margin:0 auto:来定义他的属性,让他居中,结果,竟然无效. 一开始以为是css里的代码冲突了,检查了好几遍,没问题,然后用火狐和谷歌浏览器测试,居中了... 看来是浏览器兼容性的问题,突然想起现在用了win7,ie已经升级到了ie8,看来问题就处在ie8的兼容性上.百度之.... 特将解决方法复制到下面: IE6,7,Firefox下实现居中一般用:margin: auto 来实现,但在IE8下,这是不够的.现提供两种解决的办法: 方法一(推荐): 首先页首必须设

Javascript浏览器兼容性

JS <noscript>标签 早期浏览器都面临一个特殊的问题,即当浏览器不支持JavaScript 时如何让页面平稳地退化.对这个问题的最终解决方案就是创造一个<noscript>元素,用以在不支持JavaScript 的浏览器中显示替代的内容.这个元素可以包含能够出现在文档<body>中的任何HTML 元素一一<script>元素除外. 包含在<noscript>元素中的内容只有在下列情况下才会显示出来: 浏览器不支持脚本: 浏览器支持脚本,

ie6兼容性问题汇总

1.取屏幕高宽信息之前在ie8使用document.documentElement.clientHeight取值,该值在ie6中为0.后改成:clientHeight = document.documentElement.clientHeight;if(clientHeight == 0) {        // 支持ie6/7/8/9/10    clientHeight = $("body")[0].clientHeight;}参考:http://caibaojian.com/js