Jquery:使用Jquery setInterval在IE / Chrome中不刷新DIV标记

时间:2010-08-24 19:29:47

标签: jquery google-ajax-api

我正在尝试使用Google-Ajax-Feed-API和JQuery阅读博客条目。我已经完成了大部分工作,但每隔10秒刷新一次DIV标签,我就遇到了一些问题。

代码不会刷新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 个答案:

答案 0 :(得分: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
    }); 
  }
);