在新的<script>标记</script>中动态加载Javascript代码

时间:2014-05-27 10:41:31

标签: javascript ajax

我在SO中看到很多答案建议更改src标记的<script>属性或使用.load() JQuery函数,当使用Ajax调用加载新的Javascript文件时。但我想执行直接添加到新<script>标记的代码:

   var script = document.createElement('script');
   script.innerHTML = myCodeVariable;
   document.getElementsByTagName('head')[0].appendChild(script);

如何强制动态加载此代码?

1 个答案:

答案 0 :(得分:4)

您的代码运行良好,可能是错误的代码在&#34; myCodeVariable&#34;变量。 你能发布这个变量的值吗?

我创建了一个简单的代码,显示您的代码正在运行;

HTML

<textarea name="Text1" cols="40" rows="5" id="textScript">alert("Hi, it´s a test");</textarea>
<input type="button" onclick="InsertScript();" value="execute" >

JS

function InsertScript() {
  var script = document.createElement('script');
 script.innerHTML = document.getElementById("textScript").value;
 document.getElementsByTagName('head')[0].appendChild(script);
}

它在http://jsfiddle.net/2KdRP/

中运行