我在jquery中使用.load函数执行javascript时遇到问题。 在我的主要js文件中,我有类似的东西:
var dt = new Date();
$(".pp_social").load("trackingCode.html?"+ dt.getTime());
和trackingCode.html
<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/en_US/all.js#xfbml=1";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<div class="fb-like" data-href="www.blah.com" data-send="true" data-width="450" data-show-faces="true"></div>
当我第一次运行它是好的。
然后,下次我调用它时,它会省略javascript部分。
任何想法是什么导致错误?为什么?
干杯, 鲍尔泰克
答案 0 :(得分:4)
好吧,你的脚本会创建一个元素并给它id值“facebook-jssdk”。顶部有一条线:
if (d.getElementById(id)) { return; }
因此,一旦它创建了元素,它就再也不会做任何事了。