Javascript不能在jquery .load函数中运行
javascript won't run in jquery .load function
我有一个在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部分。你知道哪里出了问题吗?为什么?
欢呼,Bartek
好吧,你的脚本创建一个元素,并给它的id值"facebook-jssdk"。上面有一行字:
if (d.getElementById(id)) { return; }
因此,一旦它创建了元素,它就不会再做任何事情了。
相关文章:
- 关注函数运行过的表单字段(新手)
- 在函数运行时显示对话
- Javascript - 加载函数运行时未定义的变量
- Javascript变量在函数运行后不断重置自身
- 如何让 setTimeout 函数运行,然后停止使用循环
- 如何在函数运行之前隐藏 CSS
- 使用 .on 函数运行 jQuery 声明函数
- 在函数运行期间关闭 onClick
- jQuery停止函数运行两次
- Javascript:如何在函数运行完成之前对文档进行更改
- nodejs - 为什么我的异步函数运行两次
- 在传递值后停止函数运行
- 如何在 javascript 中的函数中将字符串作为函数运行
- 如何停止计时器函数运行
- 在浏览器空闲后保持设置超时函数运行
- JQuery:阻止一个函数运行,直到满足另一个函数条件“X”时间
- Angular 提供程序服务需要 init 函数运行一次
- 更新 Angular $interval 中的变量会导致其他函数运行
- 如何阻止此 setTimeout 函数运行
- 传入函数数组作为参数,对于函数中的每个函数运行函数