首先,变量脚本包含</script>
你不能让它在你的代码中出现的序列,因为浏览器会假设(并且必须)它是<script>
标签关闭的。例如,如果您的脚本代码包含语法错误,这是一个没有关闭的字符串变量,"
它看起来像
<script>var bad = "abcd ;</script>
要解决这个问题,您可以像这样破坏</script>
字符串"</scr" + "ipt>"
,也可以将其转义:"<\/script>"
所以:
var script = '<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.min.js"><\/script>';
document.getElementsByTagName('head')[0].appendChild(script);
第二件事是该appendChild()
函数接受节点元素而不是字符串
所以:
var script = document.createElement("script");
script.src = "http://code.jquery.com/jquery-1.9.1.min.js";
document.getElementsByTagName("head")[0].appendChild(script);
无论如何,我更喜欢使用像RequireJS这样的模块和 JavaScript 加载器。