检测Firefox4怎么样?

检测Firefox4怎么样?,firefox,firefox4,Firefox,Firefox4,我知道有条件的评论: <!--[if IE 9]> <link rel="stylesheet" type="text/css" href="css/ie9-only.css" /> <![endif]--> 要检测Internet Explorer 9,那么Firefox 4呢?如何仅为Firefox 4加载样式?您不能以同样的方式“检测”Firefox。条件注释是IE唯一的“功能”。您必须通过后端的用户代理字符串来检

我知道有条件的评论:

 <!--[if IE 9]>
        <link rel="stylesheet" type="text/css" href="css/ie9-only.css" />
        <![endif]-->


要检测Internet Explorer 9,那么Firefox 4呢?如何仅为Firefox 4加载样式?

您不能以同样的方式“检测”Firefox。条件注释是IE唯一的“功能”。您必须通过后端的用户代理字符串来检测它。或者使用javascript

你不能用同样的方式“检测”firefox。条件注释是IE唯一的“功能”。您必须通过后端的用户代理字符串来检测它。或者使用javascript

FireFox中没有条件注释,如果您真的需要,那么最好的选择是使用jQuery(或类似工具)加载相关样式表

$(document).ready(function() {
    if ($.browser.mozilla && $.browser.version == '2.0') {
        $('head').append($("<link>").attr({type: 'text/css', rel: 'stylesheet', href: 'css/firefox4-only.css'}));
    }
});
$(文档).ready(函数(){
如果($.browser.mozilla&&$.browser.version=='2.0'){
$('head').append($(“”).attr({type:'text/css',rel:'stylesheet',href:'css/firefox4 only.css'});
}
});

但我个人不建议使用浏览器检测,如果需要,您应该使用web标准和功能检测:)

FireFox中没有条件注释,如果您确实需要,您最好的选择是使用jQuery(或类似工具)加载相关样式表

$(document).ready(function() {
    if ($.browser.mozilla && $.browser.version == '2.0') {
        $('head').append($("<link>").attr({type: 'text/css', rel: 'stylesheet', href: 'css/firefox4-only.css'}));
    }
});
$(文档).ready(函数(){
如果($.browser.mozilla&&$.browser.version=='2.0'){
$('head').append($(“”).attr({type:'text/css',rel:'stylesheet',href:'css/firefox4 only.css'});
}
});
但我个人不建议使用浏览器检测,如果需要,您应该使用web标准和功能检测:)

如果您必须检测FF4的浏览器和版本,最好的答案是使用

然而,我同意@Gareth McCaughan的评论:如果你发现自己必须进行浏览器检测(除了IE6/7和可能的IE8),那么很可能你做错了什么。在你的问题中,你在IE9中使用它的事实表明你可能已经弄错了

所有的现代浏览器,包括IE9和FF4都有很好的标准支持,一个写得很好的页面应该在所有浏览器中呈现几乎相同的内容

如果你在IE9或Firefox4中呈现的东西与其他现代浏览器不同,请指定它是什么,因为可能有比浏览器检测更好的解决方案来解决它

据我所知,在FF4中,只有一件事可能需要您使用它,那就是
文本溢出:省略号
,它在除Firefox之外的所有现代浏览器中都受支持。请参阅我前面关于此主题的问题:

如果必须检测FF4的浏览器和版本,最好的答案是使用

然而,我同意@Gareth McCaughan的评论:如果你发现自己必须进行浏览器检测(除了IE6/7和可能的IE8),那么很可能你做错了什么。在你的问题中,你在IE9中使用它的事实表明你可能已经弄错了

所有的现代浏览器,包括IE9和FF4都有很好的标准支持,一个写得很好的页面应该在所有浏览器中呈现几乎相同的内容

如果你在IE9或Firefox4中呈现的东西与其他现代浏览器不同,请指定它是什么,因为可能有比浏览器检测更好的解决方案来解决它


据我所知,在FF4中,只有一件事可能需要您使用它,那就是
文本溢出:省略号
,它在除Firefox之外的所有现代浏览器中都受支持。请参见我前面关于此主题的问题:

为什么要这样做?你打算只解决FF4的bug吗?(如果是这样的话,如果更新版本的FF4修复了错误,你会怎么做?)如果可能的话,以标准为目标,而不是浏览器,并避免尝试为单个浏览器编码。-我相信您知道这一点,并且有很好的理由想专门检测FF4,但需要说明的是:-)。您为什么要这样做?你打算只解决FF4的bug吗?(如果是这样的话,如果更新版本的FF4修复了错误,你会怎么做?)如果可能的话,以标准为目标,而不是浏览器,并避免尝试为单个浏览器编码。-我相信您知道这一点,并且有很好的理由想要专门检测FF4,但需要说:-)。我也会避免后端的用户代理字符串,因为它可能被用户(甚至是中间代理)抑制或覆盖,所以它不可靠。因此,剩下的唯一可靠的方法是使用Javascript。我也要避免后端的用户代理字符串,因为它可能被用户(甚至是中间代理)抑制或覆盖,所以它不可靠。所以剩下的唯一可靠的方法就是使用Javascript。谢谢。你是对的,IE9和FF4都很好地遵循标准,所以问题一定出在我的代码上。我将重新检查并避免使用黑客。@mahen23-如果您仍然有问题,请随时询问有关出错的特定代码的问题。:)我注意到了FF4的一些怪癖和可能的错误。我们最近发现的一个区别是(因此它们不再是可滚动的)。我也注意到了一个关于选择元素的高度实现的可能的错误,但是还没有充分研究这个问题。谢谢。你是对的,IE9和FF4都很好地遵循标准,所以问题一定出在我的代码上。我将重新检查并避免使用黑客。@mahen23-如果您仍然有问题,请随时询问有关出错的特定代码的问题。:)我注意到了FF4的一些怪癖和可能的错误。我们最近发现的一个区别是(因此它们不再是可滚动的)。我还注意到,select元素的height实现可能存在一个bug,但还没有充分利用它