JavaScript浏览器兼容性


重要的是要了解不同浏览器之间的差异,以便按预期方式处理每个浏览器。因此,重要的是要知道你的网页运行在哪个浏览器中。

要获取有关你的网页当前正在运行的浏览器的信息,请使用内置的navigator 对象。

Navigator属性


你可以在网页中使用几个与Navigator相关的属性。以下是每个名称和描述的列表。

序号.属性和说明
1

appCodeName

此属性是一个字符串,其中包含浏览器的代号,即Netscape(用于Netscape)和Microsoft Internet Explorer(用于Internet Explorer)。

2

appVersion

此属性是一个字符串,其中包含浏览器的版本以及其他有用的信息,例如其语言和兼容性。

3

language

此属性包含浏览器使用的语言的两个字母的缩写。仅Netscape。

4

mimTypes []

此属性是一个包含客户端支持的所有MIME类型的数组。仅Netscape。

5

platform[]

此属性是一个字符串,其中包含为其编译浏览器的平台。用于32位Windows操作系统的“ Win32”

6

plugins[]

此属性是一个数组,其中包含客户端上已安装的所有插件。仅Netscape。

7

userAgent[]

此属性是一个字符串,其中包含浏览器的代码名称和版本。此值发送到始发服务器以标识客户端。

Navigator方法


有几种特定于Navigator的方法。这是它们的名称和描述的列表。

序号.描述
1

javaEnabled()

此方法确定客户端中是否启用了JavaScript。如果启用了JavaScript,则此方法返回true;否则,返回true。否则,它返回false。

2

plugings.refresh

此方法使新安装的插件可用,并使用所有新的插件名称填充plugins数组。仅Netscape。

3

preference(name,value)

此方法允许签名脚本获取并设置一些Netscape首选项。如果省略第二个参数,则此方法将返回指定的首选项的值;否则,返回0。否则,它将设置该值。仅Netscape。

4

taintEnabled()

如果启用了数据污染,则此方法返回true;否则,此方法返回true。否则为假。

浏览器检测


有一个简单的JavaScript,可用于查找浏览器的名称,然后相应地可以将HTML页面提供给用户。

<html>   
    <head>
        <title>Browser Detection Example</title>
    </head>
   
    <body>
        <script type = "text/javascript">
            <!--
                var userAgent   = navigator.userAgent;
                var opera       = (userAgent.indexOf('Opera') != -1);
                var ie          = (userAgent.indexOf('MSIE') != -1);
                var gecko       = (userAgent.indexOf('Gecko') != -1);
                var netscape    = (userAgent.indexOf('Mozilla') != -1);
                var version     = navigator.appVersion;
            
                if (opera) {
                    document.write("Opera based browser");
                    //在此处保留你的歌剧专用网址。
                } else if (gecko) {
                    document.write("Mozilla based browser");
                    //在此处保留壁虎特定的URL。
                } else if (ie) {
                    document.write("IE based browser");
                    //在此处保留你IE的特定URL。
                } else if (netscape) {
                    document.write("Netscape based browser");
                    //在此处保留你特定于Netscape的URL。
                } else {
                    document.write("Unknown browser");
                }
            
                //你可以将version连同任何上述条件一起包括在内。
                document.write("<br /> Browser version info : " + version );
            //->
        </script>
    </body>
</html>