当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 解决JS脚本兼容的几个小技巧

Javascript
给初学者提供几本学习js值得看的书
Javascript----文件操作
Vml+Js算法:完成5个小球在网页运动(碰壁返回)的游戏,详细注释
Vml+Dhtml:制作一个应用渐变颜色效果不错的进度条
Dhtml+Js算法:5个小球运动的简化版,变通实现更简单的飞行的图片
Vml+Dhtml:小小的页面效果,叫它"淘气鬼"好了
判断客户浏览器是否支持cookie
几种常用的表单输入判断
CSDN无限级树数据库版(ASP+ACCESS)
JavaScript 寫遊戲 : 俄羅斯方塊
JavaScript 寫遊戲 : 搬吖
JavaScript 遊戲 : 貪吃蛇
JavaScript 寫時鍾日曆
VML:经典的图片叠加效果(灰色调)
一个简单的仿xp的js下拉菜单
JScript 寫 sortNode
关于javascript中数组元素删除问题的讨论
IE中非模式对话框(showModelessDialog)应用
Dhtml:用ondrag事件简单的实现鼠标拖动物件.
对WebUI技术感兴趣的说

Javascript 中的 解决JS脚本兼容的几个小技巧


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 149 ::
收藏到网摘: n/a

1.使用HTML注释掉脚本

关于兼容性我们第一个要考虑的问题应该是运行的平台是否支持客户端脚本?通常的做法是将脚本主体包括在一条HTML注释中:
<script language="javascript">
<!--
document.write(new Date());
//-->
</script>

这样不支持脚本的浏览器会忽略<script>和</script>标签并把其他代码当作一条HTML注释处理,而支持脚本的浏览器则把"<!--"这句当作一条HTML注释语句,其他语句正常执行,HTML注释结尾"-->"用"//"进行单行注释。

2.特性、平台检测

当我们要使用的特性和平台有关时,就得先进行检测再使用,检测的方式有两种:一种是直接检测平台是否支持该特性,另一种是检测平台类型再使用相应的特性。代码如下:
<script language="javascript">
<!--
//a.检测是否支持特性
if(s.split){
    a = s.split(","); //支持,直接使用
}else{
    a = s.mysplit(","); //不支持,使用替代方法
}
//b.平台检测
if(navigator.appName.indexOf("Microsoft") != -1){
    //使用IE支持的特性
}
//-->
</script>

3.替代?忽略?停止?

对于存在兼容性的地方,解决方法是针对不同的平台使用不同的特性或是用替代方法实现,这是上策;但总有一些时候我们用上述方法无法解决时,我们可以看下这个问题是否严重,如果不严重,那我们就可以忽略它,比如一个特性在Netscape2上无效,但现在基本上没人使用Netscape2了,那我们就忽略它;如果无法解决但问题又比较严重,那我们就应停止脚本的运行,并明确告诉用户发生的问题!