从零开始学JavaScript
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.6 选择合适的浏览器

JavaScript脚本在客户端由浏览器解释执行并将结果更新为目标页面,由于各浏览器厂商对JavaScript版本的支持不尽相同,浏览器的版本也对JavaScript脚本的支持有很大影响,所以编写代码时一定要考虑合适的浏览器之间的兼容性,重点在于编写符合JavaScript标准的代码以适应目标浏览器。下面是浏览器版本与其支持的JavaScript版本之间的关系,如表1.1所示。

表1.1 浏览器版本与其支持的JavaScript版本之间的关系表

在各大浏览器厂商中,基于Mozilla的浏览器(包括Netscape Navigator 6.0+)对JavaScript标准的支持最好,其实现了JavaScript 1.5且只修改了其中很少的语言特性。

ECMA出台ECMA-262、ECMA-290、ECMA-357等标准,意在消除JavaScript的各个不同版本之间的差异性,但JavaScript的应用依然受到很大的局限。本书将在后面的章节中,结合DOM(文档结构模型),并针对JavaScript各种规范版本之间的差异进行重点讨论,以彻底地解决脚本代码的浏览器兼容问题。

通过如下的代码检查当前浏览器的版本信息:

        //源程序1.8
        <!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.0//EN"
        "http://www.w3.org/TR/REC-html140/strict.dtd">
        <html>
        <head>
        <meta http-equiv=content-type content="text/html; charset=gb2312">
        <title>Sample Page!</title>
        <script language="javascript" type="text/javascript">
        //输出浏览器版本信息
        function PrintVersion()
        {
          var msg="";
          msg+="浏览器名称:"+navigator.appName+"\n";
          msg+="浏览器版本:"+navigator.appVersion+"\n";
          msg+="浏览器代码:"+navigator.appCodeName+"\n";
          alert(msg);
        }
        </script>
        </head>
        <body>
        <center>
        <p>鼠标单击按钮显示当前浏览器的版本信息</p>
        <form name="MyForm">
          <input type="button" name="MyButton" value="鼠标单击" onclick="PrintVersion()">
        </form>
        </center>
        </body>
        </html>

程序运行后,在原始页面中单击“鼠标单击”按钮,弹出警示框,如图1.9所示。

图1.9 获取当前浏览器的版本信息

在确定浏览器的版本信息后,可以根据浏览器类型编写有针对性的脚本,同时可在其源程序中加入针对不同浏览器版本的脚本代码,根据浏览器的类型返回相应结果给浏览器,从而克服客户端浏览器对JavaScript脚本支持程度不同的问题。