2013-02-26 47 views
0

我使用這個腳本(是否有document.write,你可以訪問src來查看它),它在我的頁面的HTML序列中一到達就花時間加載:用jQuery Ajax顯示成功腳本

<script type="text/javascript" src="http://pkmncards.disqus.com/recent_comments_widget.js?num_items=25"></script> 

這樣可以防止腳本在加載後第二個或兩個加載腳本後出現任何錯誤,所以我想通過jQuery Ajax加載它來防止掛斷。

這是我已經嘗試:

var $j = jQuery.noConflict(); 
$j(document).ready(function() { 
    $j.ajax({ 
     url: "http://pkmncards.disqus.com/recent_comments_widget.js?num_items=25", 
     dataType: "script", 
     success: function (data) { 
      $j("#recent-discussion").html(data) 
     } 
    }); 
}); 

但是我沒有正確處理成功。我看到請求加載,但它什麼也沒做。我希望它運行腳本並將document.write輸出到目標#recent-discussion中。

我仍然在尋找例子,但不知道我在做什麼錯...任何幫助非常感謝!

+1

難道你不能簡單地將腳本標籤移動到底部嗎? – mgibsonbr 2013-02-26 20:01:18

+2

您正在轉換不是HTML的「腳本」數據類型。 – crush 2013-02-26 20:01:54

+1

你從數據類型:「腳本」,但試圖直接加載數據作爲一個div的HTML?你實際上是收到一個腳本,還是它的HTML? – DavidDraughn 2013-02-26 20:02:14

回答

2

加載頁面後,您無法執行document.write。通過使用document.write的AJAX調用加載的任何腳本都無法正常工作。

+0

我認爲這可能是一個組合,加上我試圖將腳本轉換爲HTML。謝謝大家的回覆! – 2013-02-26 20:21:35

1

您的ajax調用看起來是正確的,並且您實際上不需要在success回調中執行任何操作 - 腳本將在當時開始執行(but not necessarily so)。

如果它不工作,檢查它是否正確加載(可能在ajax調用中使用error回調)。順便說一句,這個腳本與你的主頁在同一個域中?您可以加載來自不同域的腳本,但通常無法對它們進行ajax調用(由於同源策略)。

我想讓它運行腳本並將document.write輸出到目標#recent-discussion中。

我不認爲這實際上可能......如果這是你的腳本需要做什麼,你不能改變它,恐怕有一點你可以做(​​短的猴子修補document.write , 那是)。

+0

腳本位於第三方域名中,對我來說又是一個騙局。 – 2013-02-26 20:22:39