动态加载Javascript代码到新的<script>标签

Dynamically load Javascript code inside a new <script> tag

本文关键字:标签 script Javascript 加载 代码 动态      更新时间:2023-09-26

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

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

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

你的代码工作得很好,可能错误的代码是在" mycovariable "变量。你能张贴这个变量的值吗?

我创建了一个简单的代码,显示你的代码是工作的;

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/