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

1.7 处理不支持JavaScript脚本的情况

客户端浏览器不支持当前JavaScript脚本存在如下几种可能。

❑ 客户端浏览器不支持任何JavaScript脚本。

❑ 客户端浏览器支持的JavaScript脚本版本与该脚本代码使用的版本所支持的对象、属性或方法不同。

❑ 客户端为了安全起见,已经将浏览器对JavaScript脚本的支持设置为禁止。

以上3种情况总结起来就是,浏览器对当前脚本不能解释出正确的结果,在编写脚本代码时如不进行相关处理,用户使用该浏览器浏览带有该脚本的文档时将出现警示框。可以通过以下两种方法解决。

1.7.1 使用<!--和-->标记对直接屏蔽法

该方法使用<!--和-->标记对将JavaScript代码进行封装,告诉浏览器如果它不支持该脚本就直接跳过,如果支持则自动跳过该标记对,达到如果浏览器不支持脚本代码则将其隐藏的目的。代码结构如下:

        <script language="javascript" type="text/javascript">
        <!--
          //此处添加脚本代码
        -->
        </script>

Tips

上述方法并没有实现JavaScript脚本代码的真正隐藏,因为浏览器同样下载了该脚本,并将其作为源代码使用,只是在解释的时候忽略<!--和-->标记对之间的代码。

1.7.2 使用<noscript>和</noscript>标记对给出提示信息

该方法在浏览器不支持该脚本代码或者浏览器对JavaScript脚本的支持已设置为禁止的情况下,忽略<script>和</script>标记对之间脚本代码,返回<noscript>和</noscript>标记对中预设的页面提示信息;如果支持该脚本代码则解释执行<script>和</script>标记对之间脚本代码,而忽略<noscript>和</noscript>标记对之间预设的页面提示信息。这种方法较之第一种方法更人性化。如下代码结构:

        <script language="javascript" type="text/javascript">
          //脚本代码
        </script>
        <noscript>
          //提示信息
        </noscript>

目前,客户端浏览器版本很少有不支持JavaScript脚本的情况,但其禁用JavaScript脚本的情况很常见,在编写代码的应充分考虑不支持JavaScript脚本的情况,并采取相应的代码编写策略。