我正在使用Javascript生成其他自定义JavaScript,然后将其添加到HEAD标记中。下面的代码可以很好地添加javascript文件,但是如果脚本位于刚刚生成的变量中,该怎么办?

var scriptTag = document.createElement("script");
scriptTag.setAttribute("type", "text/javascript");
scriptTag.setAttribute("src", "myfile.js");
document.getElementsByTagName("head")[0].appendChild(scriptTag);

感谢您的关注。

最佳答案

   // script text
var txt = "alert('foo');";

var scriptTag = document.createElement("script");
scriptTag.setAttribute("type", "text/javascript");

   // append it in a text node
scriptTag.appendChild(document.createTextNode(txt));
document.getElementsByTagName("head")[0].appendChild(scriptTag);

FWIW,您不需要脚本标签。您可以改为使用Function构造函数。
var txt = "alert('foo');";

Function(txt)();

10-08 11:46