关于javascript:如何动态加载Feedburner RSS?

How can I load Feedburner RSS dynamically?

我的网站是动态的,所以从某种意义上说,网站只是一个页面,但是一个页面(主页)根据所按下的链接、URL更改等加载不同的内容。在我的导航栏上,我有不同的链接:关于、博客、公文包、简历和联系人。当我点击blog时,我想(1)将blog.html代码加载到我主页的body中,(2)执行外部javascript代码,通过feedburner加载我的blog rss。

我试过了:

  • $.getScript(...);
  • 动态创建script标记
  • $(window).ready(...);

注意:我不能把script标签放在主页的head标签中,因为script标签所在的位置就是显示外部代码的位置(我需要它显示在中)。

主页:

1
2
3
4
5
6
7
8
9
10
11
12
13
<html>
   ...
   <body>  
       <!-- Dynamic div -->

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

动态内容(拉入主页):

1
2
   <script src="http://feeds.feedburner.com/blogspot/bVDtI?format=sigpro" type="text/javascript">
...

有什么想法吗????我完全迷路了…

找到了答案。


该脚本使用document.write,必须放置在需要输出的位置。

我建议使用google feed api动态地阅读博客rss/atom,如下所示

http://jsbin.com/uyoyoyov/1/

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js">


    $(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 += ''+ entries[i].title +'' +
                          '<p>
'
+ entries[i].contentSnippet +'
</p>'
;
                };

                $('#output').html( html);
            }
      });
  })

</head>
<body>

   

</body>
</html>