Back

兼容IE的代码片段

JS


方法/函数:减少使用JS原生方法
  • indexOf。可用jquery里的$.inArray替代indexOf。 具体使用:$.inArray(“a”, divarr)==-1
AJAX:
  • 上传文件:IE下ajaxSubmit将file对象传递到控制层,建议使用ajaxFileUpload。
    有些方法调用获取数据是直接读缓存的,这时候加个属性 cache:false 即可。
DOM:
  • 复选框赋值兼容问题:
    for(var k =0; k<number.length; k++){
    //$(":checkbox[name=‘tCheckTwo’][value='"+number[k]+"']").attr(“checked”, true);
    //解决ie8的复选框赋值兼容问题。eq的是索引
    $(":checkbox[name=‘tCheckTwo’]").eq(number[k]).attr(“checked”, true);
    };

CSS


IE支持rgba半透明的方法:

低版本IE下不支持rgba()的表示方法, 如:background:rgba(0,0,0,0.5);
使用代码,filter:progid:DXImageTransform.Microsoft.gradient(startcolorstr=#7F000000,endcolorstr=#7F000000);即可实现
7F其实就是alpha*255换成16进制 。常用的rgba和IE下filter数值的转换:
rgba透明值:0.1  0.2  0.3  0.4  0.5  0.6  0.7  0.8  0.9
IE下filter值:19   33   4c   66   7f   99   b2   c8   e5

HTML


隐藏元素:
<div class="bBox" id="orderOperDiv" style="display: none;"><!-- 兼容IE,不使用hidden -->
按钮value显示null
<!-- <input type="button" value="上传" class="sBtn" onclick="uploadDataFile(1,0);" /> -->
<a href="javascript:void(0);" class="sBtn"  onclick="uploadDataFile(1,0)">上传</a>

插件


Webuploader IE浏览器兼容问题(点击无反应)

webuploader 加载后会默认先使用H5,在浏览器不支持H5,再采用flash,方式上传。
所以 初始化webuploader,一定要添加 swf:xxx/Uploader.swf ,保证路径正确
可能是 swf 路径不对,检查 dist 里面的 uploader.swf 文件。

Licensed under CC BY-NC-SA 4.0
comments powered by Disqus