Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何显示博客上所有帖子的列表?_Javascript_Templates_Blogs_Blogger - Fatal编程技术网

Javascript 如何显示博客上所有帖子的列表?

Javascript 如何显示博客上所有帖子的列表?,javascript,templates,blogs,blogger,Javascript,Templates,Blogs,Blogger,我有一个博客,但我对他们的API有点迷茫。我想知道是否有可能创建一个页面,列出我博客的所有帖子 我在互联网上找到了一些答案,但大多数都不起作用了:( 我还有一个问题:不使用javascript就可以使用db吗?我可能错了,但我认为大多数小部件都使用AJAX(它调用一些JSON来获取所有信息并在JS中显示它们) 谢谢!要列出所有博客帖子,您不需要访问Blogger API。使用博客提要和一段Javascript就可以做到这一点 这里可以看到工作示例: 下面是Javascript代码: <s

我有一个博客,但我对他们的API有点迷茫。我想知道是否有可能创建一个页面,列出我博客的所有帖子

我在互联网上找到了一些答案,但大多数都不起作用了:(

我还有一个问题:不使用javascript就可以使用db吗?我可能错了,但我认为大多数小部件都使用AJAX(它调用一些JSON来获取所有信息并在JS中显示它们)


谢谢!

要列出所有博客帖子,您不需要访问Blogger API。使用博客提要和一段Javascript就可以做到这一点

这里可以看到工作示例:

下面是Javascript代码:

<script type="text/javascript">
var postTitle=new Array();var postUrl=new Array();var postMp3=new Array();var postDate=new Array();var postYear=new Array();var postMonth=new Array();var postYearMonth=new Array();var postYearMonth2=new Array();var postTanggal=new Array();var postLabels=new Array();var postBaru=new Array();var sortBy="titleasc";var tocLoaded=false;var numChars=250;var postFilter="";var numberfeed=0;var month2=["January","February","March","April","May","June","July","August","September","October","November","December"];function loadtoc(a){function b(){if("entry" in a.feed){var d=a.feed.entry.length;numberfeed=d;ii=0;for(var h=0;h<d;h++){var m=a.feed.entry[h];var e=m.title.$t;var l=m.published.$t.substring(0,10);var p=m.published.$t.substring(5,7);var g=m.published.$t.substring(8,10);var n=month2[parseInt(p,10)-1]+" "+m.published.$t.substring(0,4);var c="/"+m.published.$t.substring(0,4)+"_"+p+"_01_archive.html";var j;for(var f=0;f<m.link.length;f++){if(m.link[f].rel=="alternate"){j=m.link[f].href;break}}var o="";for(var f=0;f<m.link.length;f++){if(m.link[f].rel=="enclosure"){o=m.link[f].href;break}}postTitle.push(e);postDate.push(l);postUrl.push(j);postYearMonth.push(n);postYearMonth2.push(c);postTanggal.push(g)}}}b();displayToc2();document.write('<br/><a href="http://feeds2.feedburner.com/YourFeed" style="font-size: 11px; text-decoration:none; color: #616469;">Subscribe to Our RSS Feed and Get all the updates On the Fly</a></br/>')}function displayToc2(){var a=0;var b=0;while(b<postTitle.length){temp1=postYearMonth[b];document.write("<p/>");document.write('<p><a href="'+postYearMonth2[b]+'">'+temp1+"</a></p><ul>");firsti=a;do{document.write("<li>");document.write("["+postTanggal[a]+'] <a href="'+postUrl[a]+'">'+postTitle[a]+"</a>");document.write("</li>");a=a+1}while(postYearMonth[a]==temp1);b=a;document.write("</ul>");if(b>postTitle.length){break}}};
</script>


var postTitle=new Array();var postrl=new Array();var postp3=new Array();var postDate=new Array();var postdearth=new Array();var postdeartmonth=new Array();var postdeartmonth2=new Array();var postLabels=new Array();var postBaru=new Array();var sortBy=“titleasc”;var tocload=false;var numChars=250;var postFilter=“”;var numberfeed=0;var month2=[“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”、“八月”、“九月”、“十月”、“十一月”、“十二月”];函数loadtoc(a){function b(){if(a.feed中的“entry”){var d=a.feed.entry.length;numberfeed=d;ii=0;对于(var h=0;hHi这里我找到了最佳解决方案

生成HTMl JAVA/SCript小部件

简单的发布代码,效果很好

<div><ul id="postList12"></ul></div>

<script type="text/javascript">

var startIndex = 1;
var maxResults = 100;

function sendQuery12()
{
   var scpt = document.createElement("script");
   scpt.src = "/feeds/posts/summary?alt=json&callback=processPostList12&start-index=" + startIndex + "&max-results=" + maxResults;

   document.body.appendChild(scpt);
}

function processPostList12(root)
{
   var elmt = document.getElementById("postList12");
   if (!elmt)
      return;

   var feed = root.feed;

   if (feed.entry.length > 0)
   {
      for (var i = 0; i < feed.entry.length; i++)
      {
         var entry = feed.entry[i];

         var title = entry.title.$t;

         for (var j = 0; j < entry.link.length; j++)
         {
            if (entry.link[j].rel == "alternate")
            {
               var url = entry.link[j].href;

               if (url && url.length > 0 && title && title.length > 0)
               {
                  var liE = document.createElement("li");

                  var a1E = document.createElement("a");
                  a1E.href = url;
                  a1E.textContent = title;

                  liE.appendChild(a1E);

                  elmt.appendChild(liE);
               }

               break;
            }
         }
      }

      if (feed.entry.length >= maxResults)
      {
         startIndex += maxResults;
         sendQuery12();
      }
   }
}

sendQuery12();
    var startIndex=1; var maxResults=100; 函数sendQuery12() { var scpt=document.createElement(“脚本”); scpt.src=“/feeds/posts/summary?alt=json&callback=processPostList12&start index=“+startIndex+”&max results=“+maxResults; 文件.正文.附件(scpt); } 函数processPostList12(根) { var elmt=document.getElementById(“postList12”); 如果(!elmt) 返回; var feed=root.feed; 如果(feed.entry.length>0) { 对于(变量i=0;i0&&title&&title.length>0) { var liE=document.createElement(“li”); var a1E=document.createElement(“a”); a1E.href=url; a1E.textContent=标题; 谎言。附肢儿童(a1E); 艾尔姆特·阿佩奇尔德(谎言); } 打破 } } } 如果(feed.entry.length>=maxResults) { startIndex+=maxResults; sendQuery12(); } } } sendQuery12();
    谢谢,这正是我所需要的。但这里,我们再次从客户端获取数据。我们不能直接从服务器上执行吗?无论如何,我将使用您的脚本:)@kdamazic我们受到blogger的限制。没有任何服务器端访问权限,我们唯一的访问权限是blogger API的XML模板。没有其他权限,因此JavaScript是唯一的选项。这将获取不必要的全部帖子内容。另一个答案指出,访问
    /feed/posts/summary
    <div><ul id="postList12"></ul></div>
    
    <script type="text/javascript">
    
    var startIndex = 1;
    var maxResults = 100;
    
    function sendQuery12()
    {
       var scpt = document.createElement("script");
       scpt.src = "/feeds/posts/summary?alt=json&callback=processPostList12&start-index=" + startIndex + "&max-results=" + maxResults;
    
       document.body.appendChild(scpt);
    }
    
    function processPostList12(root)
    {
       var elmt = document.getElementById("postList12");
       if (!elmt)
          return;
    
       var feed = root.feed;
    
       if (feed.entry.length > 0)
       {
          for (var i = 0; i < feed.entry.length; i++)
          {
             var entry = feed.entry[i];
    
             var title = entry.title.$t;
    
             for (var j = 0; j < entry.link.length; j++)
             {
                if (entry.link[j].rel == "alternate")
                {
                   var url = entry.link[j].href;
    
                   if (url && url.length > 0 && title && title.length > 0)
                   {
                      var liE = document.createElement("li");
    
                      var a1E = document.createElement("a");
                      a1E.href = url;
                      a1E.textContent = title;
    
                      liE.appendChild(a1E);
    
                      elmt.appendChild(liE);
                   }
    
                   break;
                }
             }
          }
    
          if (feed.entry.length >= maxResults)
          {
             startIndex += maxResults;
             sendQuery12();
          }
       }
    }
    
    sendQuery12();