IE10兼容性修正

来源:互联网 发布:php 对象类型转换 编辑:程序博客网 时间:2024/04/29 09:06
1. 滚动条的两端无法再单独设置颜色。尽量简化滚动条或者不再设置滚动条。

2. 原生js不能再 document.createElement("<td></td>"); 有类似需要借助类似下面的函数。
//add by ngye, on 2013-05-14. 根据html创建元素 兼容IE10
function createElementByHtml(htmlStr) {
    //如果只是根据标签名称(tagName)来创建元素,直接就好
    if (htmlStr.indexOf("<") == -1) {
        return document.createElement(htmlStr);
    }
    var $obj = $(htmlStr);
    return $obj.get(0);
}

3. 某些情况下,动态DOM元素的自定义属性无法再用 obj.getAttribute(name) 来获取,要兼容可用下面的函数。
//add by ngye, on 2013-05-16. 获取自定义属性itemId. 兼容IE10
function get_itemId(obj) {
    return obj.getAttribute("itemId") ? obj.getAttribute("itemId") : obj.itemId;
}

4. table中的如果出现td缺少, 会造成单元格所在位置缺少外边框。

5. IE10不再支持htc技术。

6. 样式不要再用expression.

建议:
1. 代码如短裙,越短越好,尽量减少代码行数。
2. 加多注释,至少每个方法(函数)头部有注释说明。
3. 注意jQuery选择器的效率, id选择器最快。 对于某些不能用id选择器的场合,尽量用id选择器来限制。 如:$("#xxx [cmd=?]") 比 $("[cmd=?]")在页面复杂,DOM元素较多的情况下要快很多。
4. 对于复杂的但元素不会改变的jQuery选择器,如需要多次用到,用变量缓存可提高效率。 如: var $openElements = $("#abc > .smart[open=true]");//定义后只使用 $openElements 而不再用原选择器。
原创粉丝点击