使用<script>元素可以向页面中插入JavaScript代码,一种方式是通过其src特性包含外部文件,另一种方式就是用这个元素本身来包含代码。而这一节要讨论的动态脚本,指的是在页面加载时不存在,但将来的某一时刻通过修改DOM动态添加的脚本。跟操作HTML元素一样,创建动态脚本也有两种方式:插入外部文件和直接插入JavaScript代码。
动态加载的外部JavaScript文件能够立即运行,比如下面的<script>元素:
<script type="text/javascript" src="client.js"></script>
这个<script>元素包含了第9章的客户端检测脚本。而创建这个节点的DOM代码如下所示:
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "client.js";
document.body.appendChild(script);
显然,这里的DOM代码如实反映了相应的HTML代码。不过,在执行最后一行代码把<script>元素添加到页面中之前,是不会下载外部文件的。也可以把这个元素添加到<head>元素中,效果相同。整个过程可以使用下面的函数来封装:
function loadScript(url){
var script = document.createElement("script");
script.type = "text/javascript";