执行通过AJAX加载的Javascript

Lau*_*ura 2 javascript php ajax

可能重复:
如何执行动态加载的JavaScript块?

我在这里看过很多像我这样的问题,但我没有找到适合我的答案.

我正在通过AJAX加载Code,还包括一个script包含Javascript 的Tag.正如我已经发现的,这个Javascript没有被执行.

我也发现eval()可以帮助我,但由于我是Javascript中的菜鸟而且只需要它一次,我不知道究竟应该放在哪里.

我的PHP脚本返回一个字符串,我将其与Javascript分开,将其放入页面的不同部分.这工作正常.其中一个部分包括:

<div id=\"fb-root\"></div> <script>(function(d, s, id) {var js, fjs = d.getElementsByTagName(s)[0];if (d.getElementById(id)) return;js = d.createElement(s); js.id = id;js.src = \"//connect.facebook.net/de_DE/all.js#xfbml=1\";fjs.parentNode.insertBefore(js, fjs);}(document, 'script', 'facebook-jssdk'));</script>
Run Code Online (Sandbox Code Playgroud)

包括这样的:

document.getElementById("id").innerHTML=response1;
Run Code Online (Sandbox Code Playgroud)

response1拆分字符串后,我从上面放置代码的变量在哪里.任何人都能够以轻松的方式帮助我吗?

Gui*_*och 8

您可以使用eval().您必须为脚本提供ID:

<script id='script'>
     some javascript
</script>
Run Code Online (Sandbox Code Playgroud)

然后在加载ajax响应后,为了加载脚本,你需要添加以下行:

eval(document.getElementById('script').innerHTML);
Run Code Online (Sandbox Code Playgroud)

祝好运!