2011-10-24 33 views
1

我在jquery中使用.load函數執行javascript時遇到了問題。 我主要的js文件我有類似的東西:javascript不會在jquery中運行.load函數

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部分。 任何想法coluld是錯的,爲什麼?


乾杯, 鮑爾泰克

回答

4

那麼,你的腳本創建了一個元素,並賦予它的id值 「Facebook的jssdk」。有在頂部的一行:

if (d.getElementById(id)) { return; } 

因此,一旦它創造的元素,它再也不會做任何事情。

+0

好的。理解。目前,它就像一個畫廊中的每張照片的按鈕。什麼是使這個部分獨特和工作的最佳方法? – scanya

+0

嗯,我不知道爲什麼你需要一遍又一遍地重新導入代碼。 – Pointy

+0

原因我不知道如何在一個網站(庫)上放置多個「我喜歡」按鈕。我已經找到了下面的代碼,它工作正常: – scanya