这篇文章给大家介绍JS脚本兼容性问题的解决方法,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
这里和大家分享一下解决JS脚本兼容的几个小技巧,关于JS脚本兼容性我们第一个要考虑的问题应该是运行的平台是否支持客户端脚本?通常的做法是将脚本主体包括在一条HTML注释中。
解决JS脚本兼容的几个小技巧
对于存在JS脚本兼容性的地方,解决方法是针对不同的平台使用不同的特性或是用替代方法实现,这是上策;但总有一些时候我们用上述方法无法解决时,我们可以看下这个问题是否严重,如果不严重,那我们就可以忽略它。
1.使用HTML注释掉脚本
关于JS脚本兼容性我们***个要考虑的问题应该是运行的平台是否支持客户端脚本?通常的做法是将脚本主体包括在一条HTML注释中:
<scriptlanguagescriptlanguage="javascript"> <!-- document.write(newDate()); //--> </script>
这样不支持JS脚本的浏览器会忽略<script>和</script>标签并把其他代码当作一条HTML注释处理,而支持脚本的浏览器则把"<!–"这句当作一条HTML注释语句,其他语句正常执行,HTML注释结尾"–>"用"//"进行单行注释。
2.特性、平台检测
当我们要使用的特性和平台有关时,就得先进行检测再使用,检测的方式有两种:一种是直接检测平台是否支持该特性,另一种是检测平台类型再使用相应的特性。代码如下:
<scriptlanguagescriptlanguage="javascript"> <!-- //a.检测是否支持特性 if(s.split){ a=s.split(",");//支持,直接使用 }else{ a=s.mysplit(",");//不支持,使用替代方法 } //b.平台检测 if(navigator.appName.indexOf("Microsoft")!=-1){ //使用IE支持的特性 } //--> </script>
3.替代?忽略?停止?
对于存在JS脚本兼容性的地方,解决方法是针对不同的平台使用不同的特性或是用替代方法实现,这是上策;但总有一些时候我们用上述方法无法解决时,我们可以看下这个问题是否严重,如果不严重,那我们就可以忽略它,比如一个特性在Netscape2上无效,但现在基本上没人使用Netscape2了,那我们就忽略它;如果无法解决但问题又比较严重,那我们就应停止脚本的运行,并明确告诉用户发生的问题!
关于JS脚本兼容性问题的解决方法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/204549.html