我可能的重复项:
你如何执行动态加载的JavaScript块?
在这里看到了很多像我这样的问题,但我没有找到适合我的答案。
我正在通过AJAX加载代码,还包括一个包括Javascript的script
标签。正如我已经发现的,这个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
是我在拆分字符串后从上面放置代码的变量。有人能以菜鸟,简单的方式帮助我吗?
你可以使用 eval()。您必须为脚本提供一个 ID:
<script id='script'>
some javascript
</script>
然后在加载 ajax 响应后,为了加载脚本,您可以添加以下行:
eval(document.getElementById('script').innerHTML);
祝你好运!