Javascript无法在所有IE版本中运行..脚本与浏览器检测

时间:2011-07-22 10:33:39

标签: javascript jquery

由于某种原因,IE不会执行此脚本('else'部分)。我尝试了几乎所有的东西,但我无法管理它。

$(document).ready(function(){
    if (navigator.appName != "Microsoft Internet Explorer") { 
        $(".f-top").corner("round 10px");   
        $(".s-top").corner("round 10px");
    }
    else {
        $('.f-top').css('background-image', 'url(../images/block-bg.png)');
    }
});

3 个答案:

答案 0 :(得分:3)

我假设您正在使用jQuery - 如果是这样......

使用:

!$.browser.msie

而不是:

navigator.appName != "Microsoft Internet Explorer"

答案 1 :(得分:2)

如果您使用的是jQuery,为什么不使用以下内容?

if ($.browser.msie) {
  // do your thing if browser is Internet Explorer
}
else {
  // do your thing if browser is not Internet Explorer
}

答案 2 :(得分:0)

没有直接回答你的问题,但看起来你正在尝试使用JQuery来修改元素的圆角。

如果你必须使用JQuery,那么已经有很多好的插件比你的解决方案更好。这是一个:http://www.jqueryplugins.com/plugin/61/

但坦率地说,在IE(所有版本)中进行圆角的最佳方法是忘记使用JQuery,而是使用CSS3Pie

CSS3Pie是一个特定于IE的小型黑客,它存在于您的样式表中,并使IE使用标准border-radius CSS属性(已在所有其他浏览器中运行)。

所以你需要有圆角的是以下CSS:

#myElement {
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    behavior: url(PIE.htc);
}

非常简单,效果很好,并允许您为所有浏览器使用标准CSS。

有关详细信息,请参阅CSS3Pie网站上的示例和文档。