如何动态加载Feedburner RSS?

时间:2013-09-03 04:59:21

标签: javascript jquery html dynamic rss

我的网站是动态的,所以从某种意义上说,网站只有一个页面,但是一页(主页)根据按下的链接,网址更改等加载不同的内容。在我的导航栏上,我有不同的链接:关于,博客,投资组合,简历和联系方式。当我点击博客时,我想(1)将blog.html代码加载到我的主页的body中,以及(2)执行由Feedburner加载我的博客RSS的外部JavaScript代码。

我试过了:

  • $.getScript(...);
  • 动态创建script代码
  • $(window).ready(...);

注意:我无法将script标记放在首页的head标记中,因为无论script标记在哪里,外部代码都显示在哪里(而且我需要它显示在<div class='content' id='blog-page'>

主页:

<html>
   ...
   <body>   
      <div id="content"></div> <!-- Dynamic div -->

      <script>
         <!-- updateContent is called when URL changes, page loads, etc... -->
         function updateContent(page) {
            $('div#content').load('../../' + page + '.html');
         };
      </script>
   </body>  
</html>

动态内容(拉入主页):

<div class='content' id='blog-page'>
   <script src="http://feeds.feedburner.com/blogspot/bVDtI?format=sigpro" type="text/javascript"></script>
...
</div>

任何想法????我完全失去了......

找到answer.

1 个答案:

答案 0 :(得分:3)

该脚本使用document.write并且必须放在需要输出的地方..

我建议使用Google Feed API动态阅读RSS / Atom博客

http://jsbin.com/UyoYOvO/1/

<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js"></script>
<script>

    $(document).ready(function(){
        // Data object: RSS feed URL, number of entries to return, result format, API version
        var data = {
            q: 'http://feeds.bbci.co.uk/news/video_and_audio/news_front_page/rss.xml'
            , num: 10
            , output: 'json'
            , v: '1.0'
        };

        // AJAX call to Google Feed API which converts ATOM/RSS feed to JSON
       $.ajax({
            url:'http://ajax.googleapis.com/ajax/services/feed/load'
            ,type : "GET"
            ,dataType : "jsonp"
            ,data: data
            ,success: function (json) {
                var feed = json.responseData.feed;
                if(!feed) return;
                var entries = feed.entries;
                if(!entries) return;

                var html = '';
                for( var i=0; i<entries.length; i++){
                    html += '<h2><a href="'+ entries[i].link +'">'+ entries[i].title +'</a></h2>' +
                          '<p>'+ entries[i].contentSnippet +'</p>';
                };

                $('#output').html( html);
            }
      });
  })
</script>
</head>
<body>

    <div id="output"></div>

</body>
</html>