上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脚本支持程度不同的问题。