【问题标题】:Blogger button for random 'post, search and combine labels'用于随机“发布、搜索和组合标签”的 Blogger 按钮
【发布时间】:2018-03-16 18:37:34
【问题描述】:

我正在使用下面的 javascript 和 html 创建一个按钮,该按钮从(单个)标签返回随机帖子。我的博客是:https://funatonce.blogspot.com

我有两个疑问:

  1. 如何将此脚本与搜索词列表一起使用。我将输入一组搜索词,每次点击都会给出不同的结果

  2. 我想为不同的标签添加多个具有随机功能的按钮,例如。如果我有 15 个按钮,我是否必须在页面上添加此脚本 15 次?我尝试提供 .js 文件参考,但没有成功

    http://yourjavascript.com/8012111731/random.js'; type='text/javascript'/>

<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/-/cool%20items?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 beautyandpersonalcare(){
    var script = document.createElement('script');
    script.type = 'text/javascript';
    script.src = '/feeds/posts/summary/-/cool%20items?max-results=0&alt=json-in-script&callback=readLucky';
    document.getElementsByTagName('head')[0].appendChild(script);
    }
//]]>
</script>
<div class="randombtncontainer">
  <a href="#" onclick="beautyandpersonalcare()" class="randombtn btn-1">Show Random Products</a>
  
</div>

【问题讨论】:

    标签: javascript blogger blogspot


    【解决方案1】:

    您可以使用 jQuery ajax 和博客上的本机搜索功能而不是 JSON feed 来获取搜索结果

    <div id="container"></div>
    
    <script>
    //<![CDATA[
    var counter = 0;
    function getList(terms) {
      $("#container").load("/search?q="+terms[counter].replace(' ', '+')+" #Blog1 .post");
      counter++;
    }
    //]]>
    </script>
    
    <button onclick="getList(['mobile cases','mobile accessories','mobile apps'])">Show Random List</button>
    

    要添加具有不同标签的多个按钮,您无需像在 js 文件中那样重复您的功能,将标签作为参数传递给beautyandpersonalcare(),并根据需要添加任意数量的按钮。

    <script type='text/javascript'>
    //<![CDATA[
    
    var label = "";
    
    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/-/'+label+'?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 beautyandpersonalcare(lab){
        label = lab;
        var script = document.createElement('script');
        script.type = 'text/javascript';
        script.src = '/feeds/posts/summary/-/'+label+'?max-results=0&alt=json-in-script&callback=readLucky';
        document.getElementsByTagName('head')[0].appendChild(script);
        }
    //]]>
    </script>
    
    <div class="randombtncontainer">
      <a href="#" onclick="beautyandpersonalcare('labelName1')" class="randombtn btn-1">Show Random Products</a>
      <a href="#" onclick="beautyandpersonalcare('labelName2')" class="randombtn btn-2">Show Random Products</a>
      <a href="#" onclick="beautyandpersonalcare('labelName3')" class="randombtn btn-3">Show Random Products</a>
      ...
    
    </div>
    

    【讨论】:

    • 嗨,Bassam,感谢您的支持。关于我的第一个问题,例如。我将有一个按钮,它会从“手机外壳”、“手机配件”、“手机应用程序”、“iphone gadgets”、“iphone 手机壳”等搜索词中返回随机的帖子列表,所以当点击按钮时,它会给出列表/组帖子(不仅仅是单个帖子)。因此,第一次点击它会从“手机壳”返回帖子,第二次点击“手机配件”等等。再次感谢您的帮助和合作! :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-07
    • 1970-01-01
    • 1970-01-01
    • 2023-04-04
    • 2021-12-03
    • 2019-01-13
    • 2017-03-08
    相关资源
    最近更新 更多