12

我正在开发一个 javaScript 代码,我想确定客户端浏览器的版本和品牌,这是我用来执行此操作的一段代码:

var browserName ; 
function BrowserCheckin () 
{

    if(navigator.userAgent.indexOf("Mozilla") > 0 )
        browserName = "Mozilla" ;
    if (navigator.userAgent.indexOf("MSIE") > 0 )
        browserName = "InternetExplorer";
    if (navigator.userAgent.indexOf("Chrome") > 0)
        browserName= "Google Chrome" ; 
    if(navigator.userAgent.indexOf("Opera") > 0 ) 
        browserName = "Opera" ; 
    document.write("<h1>"  + browserName + "</h1>") ;
}

但是当我使用“Google Chrome”运行我的代码时,useAgent 属性返回一个包含以下内容的字符串:

“Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.112 Safari/534.30”

但我不明白“Mozilla/5.0”在那里做什么,有人有什么想法吗?
(还有一件事,我使用 Linux 作为我的操作系统)

提前致谢 :)

4

2 回答 2

21

由于历史原因,几乎所有的浏览器(Opera 除外)都会Mozilla/添加到它们的用户代理。

例如,以下是一些常见的用户代理:

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.30 (KHTML, like Gecko)
            Chrome/12.0.742.112 Safari/534.30                    # Chrome 12
Mozilla/5.0 (X11; Linux x86_64) Gecko Firefox/5.0                # FF 5
Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 9.0; en-US)        # IE 9
Opera/9.80 (Windows NT 5.1; U; en) Presto/2.8.119 Version/11.10  # Opera 11.10

有关详细列表,请参阅在线 数据库

于 2011-08-13T12:54:00.890 回答
2

Chrome 的用户代理字符串。由于历史原因,它以 Mozilla 为名。更有趣的是,当您在 Internet Explorer 的用户代理字符串中看到 Mozilla 时:)

此链接包含 Chrome 的 UA 字符串,您可能会发现它很有用:http ://www.useragentstring.com/pages/Chrome/ 。

于 2011-08-13T12:54:12.580 回答