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

发布于 2024-09-16 10:48:46 字数 1198 浏览 2 评论 0原文

我正在尝试使用 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>

I am trying to read blog entries feed by using Google-Ajax-Feed-API and JQuery. I have achieved most of the stuff, but in refreshing the DIV tag after every 10sec, I am having some problem.

The code does not refresh DIV tag in IE or Chrome.(however refreshes well in Mozilla).

Any help? Thanks.

        <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>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

橙幽之幻 2024-09-23 10:48:46

这里有一些值得尝试的事情。而不是这个:

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
    }); 
  }
);

Here's something to try. Instead of this:

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

Try this:

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
    }); 
  }
);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文