IE兼容性问题

来源:互联网 发布:java培训后工资多少 编辑:程序博客网 时间:2024/06/01 11:52

最近在解决IE兼容性的问题,进行一下总结:

1、常用调试语句如下:(很多兼容性的问题,不会报错,因此就需要添加输出,通过输出结果查看问题出在哪里)

(1)查看运行步骤是否有问题:    var i = 0; // 声明一次即可    console.log("click:" + i++ + "."); // 标记可能出错误的地方(2)查看变量值是否正确:(var为变量)    console.log("var:" + var + ".");(3)增加弹出框,暂时阻止程序运行:(var为变量)    alert("var:" + var + ".");

2、IE 时间格式不支持2017-08-21 00:00:00,需要转换为2017/08/21 00:00:00,转换方式如下:

var arg = "2017-08-21 00:00:00";// var myDate = new Date(arg); // errorvar myDate = new Date(Date.parse(arg.replace(/-/g, "/")));

3、json序列化

JSON.parse(data); // String to jsonJSON.stringify(data); // json to String

4、页面跳转,需要增加bathPath,否则IE无法确定新的地址;(Java)

<%    String path = request.getContextPath();    String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";%><script type="text/javascript">    var basePath = "<%=basePath%>";</script>

5、特殊情况一定要增加判断条件,否则也会出现无法预料的错误

if (var === 'undefined') {    do something;}

6、JavaScript转义字符(JavaScript中拼装HTML的时候,要注意转移字符,否则也可能会出现问题。最好不拼装)

\'  单引号\"  双引号\&  和号\\  反斜杠\n  换行符\r  回车符\t  制表符\b  退格符\f  换页符

7、函数参数默认值

// 其他浏览器支持, IE不支持function myFun(arg1 = 'default', arg2 = 'default') {    // do something}// IE浏览器 上面的写法看起来也不标准function myFun(arg1, arg2) {    // set default value    arg1 = arg1 || 'default';    arg2 = arg2 || 'default';    // do something}

8、引入新的方法、框架的时候,一定要先查一下浏览器的兼容性,降低返工的风险;

原创粉丝点击