我正在尝试使用此行来检测浏览器类型:IE或Firefox。
alert(isBrowser("Microsoft"));
但我什么都没得到,警报甚至没有弹出。不知道我做错了什么。
检测浏览器类型的最佳做法是什么?
答案 0 :(得分:9)
答案 1 :(得分:8)
试试这个:
alert(navigator.appName);
答案 2 :(得分:4)
我认为jQuery在支持testing for features而不仅仅是浏览器时才能做到正确。
答案 3 :(得分:3)
对于MSIE检测,您可以使用JavaScript:
// This function returns Internet Explorer's major version number,
// or 0 for others. It works by finding the "MSIE " string and
// extracting the version number following the space, up to the decimal
// point, ignoring the minor version number
<SCRIPT LANGUAGE="JavaSCRIPT">
function msieversion()
{
var ua = window.navigator.userAgent
var msie = ua.indexOf ( "MSIE " )
if ( msie > 0 ) // If Internet Explorer, return version number
return parseInt (ua.substring (msie+5, ua.indexOf (".", msie )))
else // If another browser, return 0
return 0
}
</SCRIPT>
以下是如何在html中的任何位置调用它的示例:
<SCRIPT LANGUAGE="javascript">
if ( msieversion() >= 0 )
document.write ( "This is Internet Explorer" );
else
document.write ( "This is another browser" );
</SCRIPT>
http://support.microsoft.com/kb/167820 http://support.microsoft.com/kb/167820
答案 4 :(得分:1)
关于这方面的一篇非常好的文章来自Quirksmode:http://www.quirksmode.org/js/support.html
'lajuette'提供的脚本很好,但它不会让你变得更聪明。同一作者解释了他在上述链接中的脚本背后的想法,基本上他说的是:
答案 5 :(得分:0)
This is basic for browser type detection 但是从这个小代码中很难理解出现了什么问题....你可以添加一些有用的isBrowser()体。
答案 6 :(得分:-1)
function whereUWantToDetectBrowser(){
if (navigator.appName == "Microsoft Internet Explorer")
intExp();
else
other();
}
function intExp(){
//do what you want to do for specifically Internet Explorer
}
function other(){
//do what you want to do for other browsers
}
此代码解决了这个问题。如果您在那里编写特定代码,而不是从whereUWantToDetectBrowser()
调用函数,这将导致错误。代码将无法运行。因为浏览器会检测到必须运行的代码(特定于每个浏览器)。如果您区分代码意味着代码在某些浏览器中不起作用,那么您希望专门为这些浏览器编写代码。
因此,other()
在IE中无效,因为intExp()
在其他浏览器中无效。
答案 7 :(得分:-2)
找到IE的浏览器类型的最佳和最短的方法是.. U可以对其他浏览器类型执行相同的操作
if (navigator.appName == "Microsoft Internet Explorer"){
// Ur piece of validation
}