如何更改此代码,以YYYY.MM.DD< title>格式列出Blogger上所有帖子的标题.和时间顺序? [英] How to change this code to list post titles of all the post on Blogger in format YYYY.MM.DD <title> and chronological order?

查看:189
本文介绍了如何更改此代码,以YYYY.MM.DD< title>格式列出Blogger上所有帖子的标题.和时间顺序?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在特定页面上显示帖子标题.与滚动所有页面或使用存档小部件进行导航相比,了解作者写的内容更为有效.

I like to show my titles of posts on a specific page. It is more effective to get know what author have written than scroll all pages or navigate using archive widget.

我找到了用于生成列表的代码(下面的代码),该列表按字母顺序对帖子标题进行排序,但我希望按时间顺序显示标题.有很多与此相关的代码示例,但是它们已经过时了.在Blogger平台进行一些更改后,它们不再起作用.

I found code (code is below) for generate list that sort post titles alphabetically but I like to show titles in chronological order. There is lot of code example about this but they are outdated. They doesn’t work anymore after some changes in blogger platform.

如何更改代码以按时间顺序并以YYYY.MM.DD格式获取帖子标题?

How to change code to get post titles in chronological order and in format YYYY.MM.DD ?

<div>
    <ul id="postList12"></ul>
</div>
<script type="text/javascript">
    var startIndex = 1;
    var maxResults = 150;
    var allResults = [];
    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 printArrayResults(root) {  
        //Sort Alphebetically
        allResults.sort(function(a, b)
        {
            var a_string = a.children[0].textContent ;
            var b_string = b.children[0].textContent ;

            if(a_string < b_string) return -1;
            if(a_string > b_string) return 1;
            return 0;
        })

        var elmt = document.getElementById("postList12");
        for (index = 0; index < allResults.length; index++) {
            elmt.appendChild(allResults[index]);
        }
    }

    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;
                var date = entry.published.$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 + " (" + date.substr(0,10) + ")";
                            liE.appendChild(a1E);
                            //elmt.appendChild(liE);
                            allResults.push(liE);
                        }
                        break;
                    }
                }
            }
            if (feed.entry.length >= maxResults) {
                startIndex += maxResults;
                sendQuery12();
            } else {
                printArrayResults();
            }
        }
    }
    sendQuery12();
</script>

代码从此处复制: https://dansator.blogspot.fi/2015/10/general-alphabetical-list-of-posts.html

推荐答案

从代码中删除sort方法.删除以下内容:

Remove sort method from the code. remove the following :

//Sort Alphebetically
allResults.sort(function(a, b){
        var a_string = a.children[0].textContent ;
        var b_string = b.children[0].textContent ;

 if(a_string < b_string) return -1;
 if(a_string > b_string) return 1;
 return 0;
   })

您的代码应为

<div>
<ul id="postList12"></ul>
</div>
<script type="text/javascript">
var startIndex = 1;
var maxResults = 150;
var allResults = [];
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 printArrayResults(root)
{  
   var elmt = document.getElementById("postList12");
    for (index = 0; index < allResults.length; index++) {
         elmt.appendChild(allResults[index]);
    }
}

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;
         var date = entry.published.$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 + " (" + date.substr(0,10) + ")";
                  liE.appendChild(a1E);
                  //elmt.appendChild(liE);
                  allResults.push(liE);
               }
               break;
            }
         }
      }
      if (feed.entry.length >= maxResults)
      {
         startIndex += maxResults;
         sendQuery12();
      } else {
         printArrayResults();
      }
   }
}
sendQuery12();
</script>

这篇关于如何更改此代码,以YYYY.MM.DD&lt; title&gt;格式列出Blogger上所有帖子的标题.和时间顺序?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆