2

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

我在这里看到了很多类似我的问题,但我没有找到适合我的答案。

我正在通过 AJAX 加载代码,还包括一个script包含 Javascript 的标签。正如我已经发现的那样,这个 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>

像这样包含:

document.getElementById("id").innerHTML=response1;

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

4

1 回答 1

9

您可以使用 eval()。您必须为您的脚本提供一个 ID:

<script id='script'>
     some javascript
</script>

然后在加载您的 ajax 响应后,为了加载脚本,您添加以下行:

eval(document.getElementById('script').innerHTML);

祝你好运!

于 2012-08-18T18:34:44.287 回答