2010-08-24 31 views
0

我想通過使用Google-Ajax-Feed-API和JQuery來閱讀博客條目feed。我已經完成了大部分工作,但每隔10秒刷新一次DIV標籤,我遇到了一些問題。Jquery:在IE/Chrome中使用Jquery刷新DIV標記setInterval

該代碼不刷新IE或Chrome中的DIV標記(但在Mozilla中刷新的很好)。

任何幫助?謝謝。

 <script type="text/javascript"> 
     google.load("feeds", "1"); 
     google.setOnLoadCallback(initialize); 
     $(document).ready(function(){ 
      setInterval('initialize()',10000) 
     }); 
     function initialize() { 
      var url = "http://www.digg.com/rss/index.xml" + "?q=" + Math.random(); 
      var feed = new google.feeds.Feed(url); 
      feed.load(function(result) { 
       if (!result.error) { 
        var container = document.getElementById("feed"); 
        $(container).empty(); 
        for (var i = 0; i < result.feed.entries.length; i++) { 
         var entry = result.feed.entries[i]; 
         var div = document.createElement("div"); 
         div.appendChild(document.createTextNode(entry.title)); 
         container.appendChild(div); 
        } 
       } 
      }); 
     } 
    </script> 
+1

如果你調用的setInterval與函數引用,而不是一個字符串,會發生什麼? 'setInterval(initialize,10000);' – Pat 2010-08-24 19:58:55

+0

什麼都沒有發生。事情保持不變。 – user279321 2010-08-24 20:05:35

回答

0

這裏有一些嘗試。取而代之的是:

google.load("feeds", "1"); 
google.setOnLoadCallback(initialize); 
$(document).ready(function(){ 
    setInterval('initialize()',10000) 
}); 

試試這個:

google.load("feeds", "1"); 
google.setOnLoadCallback(// wait for google 
    function(){ 
    $(document).ready(function(){ // now jquery's doc ready 
     initialize(); // since you seem to want to run this immediately once 
     setInterval(initialize,10000); // and now every ten seconds 
    }); 
    } 
); 
+0

嗨,肯。也試過這段代碼。沒有運氣。 – user279321 2010-08-24 20:23:30

+0

也許還有更多事情要做。你能把你的頁面的可訪問版本放在某個地方給我們看嗎? – 2010-08-24 22:02:28