是否有可能在没有浏览器嗅探和条件评论的情况下在javascript中测试IE?

时间:2012-10-12 09:06:45

标签: javascript internet-explorer browser-detection

我很想知道是否可以在Javascript中切换Javascript insertRuleaddRule方法而不使用浏览器嗅探/条件注释来将addRule分配给IE。

在CSS中,我可以使用特定设备不支持的属性(例如IE :: pseudo-selector)来为特定浏览器编写规则。 Javascript中有类似的技巧吗?

感谢您的一些见解!

2 个答案:

答案 0 :(得分:1)

if(sheet.addRule) { 
    sheet.addRule(...);
}
else
{
    sheet.insertRule(...);
}

答案 1 :(得分:1)

改为使用feature detection

var abstractedInsertOfRule = function (rule, stylesheet){
    //if (object) is a quick way to test if the object is defined
    //in browsers that do not implement "insertRule",
    //if (insertRule) returns "falsy"
    if (insertRule) {
        insertRule(rule, stylesheet);
    } else if (addRule) {
        addRule(rule, stylesheet);
    } else {
        //call other rule insertion methods here
    }
};