前面说到了<script>标签的一些属性,对script标签有了个初步的认识,接下来需要知道的是js脚本在页面中的位置和一些注意事项。

<script>标签的位置

按照惯例,<script>和<link>标签都放在head部分,这样做是为了便于统一管理外部资源,但是这样做有一个弊端,我们知道html中的代码是按照从上到下的顺序一次执行的,上面的代码解析没有完成,下面的代码就无法加载,也就无法正常展现页面的内容。这对于那些需要很多js文件的页面来说,就会导致浏览器呈现页面的的延迟,窗口中将是一片空白。为了避免这个问题,现在的web应用一般都把js文件放在body的结尾处,即</body>之前。这样页面在加载js文件之前,页面内容已经完全呈现出来,相对来说,也会增加页面的加载速度和页面对用户的友好程度 。

<noscript>标签

早起的浏览器有一个问题,就是不是所有的浏览器都支持<script>,在不支持script的浏览器中,如果遇到script,就回将标签内的代码直接输出到页面中,会造成页面的混乱破坏页面的布局和外观。早起的程序员们就想了这么一 个解决办法,就是给页面中的script标签加注释—html注释和js注释,确保不支持script标签的浏览器注释掉该标签中的代码,具体的方法如下实例所示:


<script type="text/javascript"><!--
	window.onload = function(){
		alert("Hello World!");
	}
// --></script>

虽然这种方式已经得到了所有浏览器的认可,但是现在的浏览器已经全部支持了script标签,所以这种方式也不被推荐使用了,也没有必要用了。

除了使用如上描述的注释方法之外,还可以使用<noscript>标签。noscript用来定义脚本未被执行时的替内容。这是w3school给出的定义。给的这个解释有两种情况,一种是浏览器不支持脚本,另一种是浏览器虽然支持脚本,但是出于安全或其他方面原因方面的考虑,脚本被禁用,这时就会显示noscript中的内容。

到现在为止,已经知道当浏览器不支持script的时候的两种处理方法,如上面描述的那样,一是使用注释的方法,另一是使用noscript标签。