【问题标题】:Button/link to show random post from specific label in blogger按钮/链接显示博客中特定标签的随机帖子
【发布时间】:2018-03-14 04:34:57
【问题描述】:

我在使用 Google 博客 CMS 构建的博客方面需要帮助:https://funatonce.blogspot.com

我目前正在使用以下脚本生成/显示随机帖子,该脚本从整个帖子条目中返回随机帖子。我想要一个类似的按钮来显示来自特定类别/标签的帖子,甚至混合类别/标签。

我的博客上有超过 5000 篇文章和 50 多个类别/标签,这就是为什么它对我的访问者来说非常有用的功能。

<script type='text/javascript'>
//<![CDATA[
function showLucky(root){
    var feed = root.feed;
    var entries = feed.entry || [];
    var entry = feed.entry[0];
      for (var j = 0; j < entry.link.length; ++j) {
       if (entry.link[j].rel == "alternate") {
       window.location = entry.link[j].href;
       }
      }
   }

function fetchLuck(luck){
    script = document.createElement('script');
    script.src = '/feeds/posts/summary?start-index='+luck+'&max-results=1&alt=json-in-script&callback=showLucky';
    script.type = 'text/javascript';
    document.getElementsByTagName('head')[0].appendChild(script);
   }
function readLucky(root){
    var feed = root.feed;
    var total = parseInt(feed.openSearch$totalResults.$t,10);
    var luckyNumber = Math.floor(Math.random()*total);
    luckyNumber++;
    fetchLuck(luckyNumber);
    }
function feelingLucky(){
    var script = document.createElement('script');
    script.type = 'text/javascript';
    script.src = '/feeds/posts/summary?max-results=0&alt=json-in-script&callback=readLucky';
    document.getElementsByTagName('head')[0].appendChild(script);
    }
//]]>
</script>

<a href="#random" onclick="feelingLucky()" title="Random Post">Feeling Lucky?</a>

【问题讨论】:

    标签: javascript blogger blogspot


    【解决方案1】:

    要按标签获取帖子,请将/-/LabelName 添加到脚本 src,如下所示

    <script type='text/javascript'>
    //<![CDATA[
    function showLucky(root){
        var feed = root.feed;
        var entries = feed.entry || [];
        var entry = feed.entry[0];
          for (var j = 0; j < entry.link.length; ++j) {
           if (entry.link[j].rel == "alternate") {
           window.location = entry.link[j].href;
           }
          }
       }
    
    function fetchLuck(luck){
        script = document.createElement('script');
        script.src = '/feeds/posts/summary/-/LabelName?start-index='+luck+'&max-results=1&alt=json-in-script&callback=showLucky';
        script.type = 'text/javascript';
        document.getElementsByTagName('head')[0].appendChild(script);
       }
    function readLucky(root){
        var feed = root.feed;
        var total = parseInt(feed.openSearch$totalResults.$t,10);
        var luckyNumber = Math.floor(Math.random()*total);
        luckyNumber++;
        fetchLuck(luckyNumber);
        }
    function feelingLucky(){
        var script = document.createElement('script');
        script.type = 'text/javascript';
        script.src = '/feeds/posts/summary/-/LabelName?max-results=0&alt=json-in-script&callback=readLucky';
        document.getElementsByTagName('head')[0].appendChild(script);
        }
    //]]>
    </script>
    

    【讨论】:

    • 嗨,Bassam,你能帮我解决这个问题吗?我想在网站上使用多个随机按钮,例如。如果我想使用 15 个按钮,我必须在 15 次不同的时间添加这个脚本吗?如何组合脚本以将其用于多个按钮。我创建了一个 .js 文件并将其用作参考,但它不起作用
    • 好的,有更好的方法。打开一个新问题来帮助其他用户,我会在那里:)
    猜你喜欢
    • 2018-04-17
    • 2012-01-16
    • 1970-01-01
    • 1970-01-01
    • 2015-12-17
    • 2018-06-17
    • 2018-10-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多