JavaScript与HTML的Script标签
2010-3-6 杜世伟 JavaScript
script标签有两种用途:1. 在页面中标识一块脚本代码;2. 加载一个脚本文件,它要依赖于src属性的存在。
<script>标签
script标签有两种用途:
- 1. 在页面中标识一块脚本代码
- 2. 加载一个脚本文件
它要依赖于src属性的存在。上面两种情况都需要</script>闭合标签。
script标签可以包含下面的属性:
src=”url”
src属性是可选的。如果存在src属性,它的值应是一个url(网址)表示的.js文件。当浏览器加载,编译与执行文件时,页面将停止装载与处 理。<script src="url">与</script>之间不应有任何内容(保持空白)。
如果没有src属性,<script>与</script>之间的文字可被编译与执行。script不能包含序列
</
因为可能与</script>混淆。可以插入反斜线符号在<与/之间避免此问题。
</\
反斜线将被JavaScript编译器忽略。
不要使用<!– //–>这种hack脚本。这种方法可以阻止第一代浏览器(Netscape 1和Mosaic)将脚本显示成文字。已经有很长时间不需要这么做了。<!– //–>是一个HTML注释。注释中的脚本将被忽略,不被编译与执行。同样,HTML注释不包括–,因此脚本将忽略HTML错误。
language=”javascript”
这个属性是不赞成使用的。它被用于选择其它的程序语言或特殊版本的JavaScript。尽量避免使用。
type=”text/javascript”
这个属性是可选的。自从Netscape 2所有浏览器默认的编程语言已经都是JavaScript了。在XHTML中,这个属性是必须的。在HTML中最好不要使用此属性。浏览器可以自行解决。
defer
这个属性试图改变组件在页面中的加载时机。它不能被很好的支持,不要使用此属性。
for=”name” event=”name”
这些属性是微软(Microsoft)的私有属性,用于声明事件句柄。这是不标准的。尽量避免使用。
放置(Placement)
<script src="url"></script>将阻碍页面的其它组件下载,直到script脚本加载、编译、执行完毕。因此越晚调用脚本越 好,以便加载图像和其它组件不被延时。 加载脚本将增加感觉中的与实际的页面加载时间。因此通常最好把所有的<script src="url"></script>放置在</body>之前。一个页面内的<script>在加载时没 有明显的影响。
如果一个脚本定义了一些用于其它函数的函数与数据,那么必须在用这些函数与数据之前完成定义。因此定义脚本后才可以使用脚本。
document.write
document.write提供了一种将字符串写入HTML页面的方法。有更好的方法这样做,例如.innerHTML 和.createElement或者HTML克隆样式(HTML cloning patterns),用于避免使用document.write。
document.write强制性的依赖于加载时机。如果document.write在onload事件前被调用,它会在一个页面中附加或插入 文字。如果在onload事件后被调用,它将完全替换页面,摧毁前面完成的所有内容。
document.write使脚本与标记混合起来,助长了坏的结构。清晰的结构尽少使脚本与标记混合使用。
热门日志
分类
- Django(4)
- ssdb(1)
- Mac(7)
- C(1)
- memcache(1)
- Python(32)
- Vim(8)
- sed(2)
- ansible(3)
- awk(4)
- shell(3)
- about(1)
- git(9)
- bat(4)
- svn(0)
- docker(1)
- Tornado(1)
- go(2)
- 架构(18)
- Vue(1)
- game(2)
- Html(6)
- Java(8)
- Mysql(37)
- Ajax(2)
- Jsp(1)
- Struts(8)
- Linux(72)
- JavaScript(39)
- Staruml(0)
- Mouth(1)
- Php(102)
- Windows(8)
- Message(48)
- Lua(10)
- Compute(1)
- Redis(7)
- Nginx(12)
- Jquery(1)
- Apache(1)
- cocos2d-x(8)