0

我的网站是动态的,所以从某种意义上说,网站只有一页,但那一页(主页)根据按下的链接、url 更改等加载不同的内容。在我的导航栏上,我有不同的链接:关于、博客、作品集、简历和联系方式。当我点击博客时,我想 (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>

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

找到了答案。

4

1 回答 1

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>
于 2013-09-03T05:32:22.533 回答