我正在使用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);
感谢您的关注。
答案 0 :(得分:3)
var scriptTag = document.createElement("script");
scriptTag.setAttribute("type", "text/javascript");
scriptTag.innerHTML = "What you want here";///....
document.getElementsByTagName("head")[0].appendChild(scriptTag);
答案 1 :(得分:3)
// 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)();
答案 2 :(得分:0)
两个答案看起来都很好,特别是来自@gdoron的答案。
我写了一个简单的例子,以防你想在jquery中做同样的事情:http://jsfiddle.net/bitoiu/EKpGg/
段:
$(function(){
var script = document.createElement( 'script' );
script.type = 'text/javascript';
// script.url = 'some valid url';
$('head').append( script );
});