我在 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 部分。
有什么想法可能是错的吗?为什么?
干杯, 巴泰克
最佳答案
好吧,您的脚本创建了一个元素并为其赋予了 id 值“facebook-jssdk”。顶部有一行:
if (d.getElementById(id)) { return; }
因此,一旦它创建了元素,它就再也不会做任何事情了。
关于javascript 不会在 jquery .load 函数中运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7881511/