最近碰到一个动态加载js文件的问题,对网上有一些错误的回答,我这里修改并记录。
1. 一般情况下,一个HTML文件或者JSP文件引用外部JS的文件,我们都直接静态加载的方式,例如:
2. 但是在另一种方式下,例如拼接JS文件地址,就需要去动态加载JS文件,很多人使用document.write方式加载
以下错误的方式,我看到网上好多示例都这样写,误人呐!!!
<script>
document.write("<script language=javascript src=statics/js//public.js></script>");
</script>
正确的写法
<script>
document.write("<scr"+"ipt language=javascript src=statics/js/public.js></scr"+"ipt>");
</script>
3.原因
HTML里的标签都是前后对应,有开始必有结束,例如“<html></html>”,"<div></div>","<head></head>"等,这里的script也一样,而且script不能出现嵌套,出现嵌套会错误以一对一的方式匹配,看图示: