Javascript 隐藏谷歌&x2B;按钮(如果已推荐)

Javascript 隐藏谷歌&x2B;按钮(如果已推荐),javascript,jquery,google-plus,Javascript,Jquery,Google Plus,如果访问者已经推荐了该页面,我怎么能对他隐藏Google+按钮呢。我不想只在单击后隐藏它,也不想在用户下次访问页面时隐藏按钮。如果Mindbreaker的解决方案不起作用,您可以添加一个触发器并保存+1ed用户的IP地址。当访问者返回时,您可以使用CSSdisplay:none简单地删除+1按钮。我会小心地将按钮像这样隐藏起来,如果用户想删除+1,可能会给用户带来不好的体验。如果出于美观的原因而隐藏它,这是可以理解的——例如,如果您想显示一条消息,然后呈现一个不同的按钮,该按钮随后显示 如果您想

如果访问者已经推荐了该页面,我怎么能对他隐藏Google+按钮呢。我不想只在单击后隐藏它,也不想在用户下次访问页面时隐藏按钮。

如果Mindbreaker的解决方案不起作用,您可以添加一个触发器并保存+1ed用户的IP地址。当访问者返回时,您可以使用CSS
display:none

简单地删除+1按钮。我会小心地将按钮像这样隐藏起来,如果用户想删除+1,可能会给用户带来不好的体验。如果出于美观的原因而隐藏它,这是可以理解的——例如,如果您想显示一条消息,然后呈现一个不同的按钮,该按钮随后显示

如果您想这样做,可以使用回调在用户的机器上放置cookie。显示了完整的实现:

<html itemscope itemtype="http://schema.org/Article">
  <title>Demo: Hiding +1 after first click</title>
  <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
  <head>

  </head>
  <body>
    <div id="pluscontainer"></div>
    <h1>Demo: Plus button here</h1>
    <p>
      <span id="plusButton" style="display:none">
        <g:plusone size="tall" callback='cookieAdd'></g:plusone>
      </span>
      <span id="plusMessage" style="display:none;" >
        You have already +1'd this page, click <button onClick='cookieDrop();'>here</button>
        to reshow the button
      </span>
    </p>
  </body>

<script type="text/javascript">
  (function() {
    var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
    po.src = 'https://apis.google.com/js/plusone.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
    if (document.cookie != undefined && document.cookie.indexOf('enrolled=1') > -1){
      // User +1'd
      $('#plusButton').hide();
      $('#plusMessage').show();
    }else{
      // User hasn't +1'd
      $('#plusButton').show();
      $('#plusMessage').hide();
    }
  })();

  // Remove the cookie (show +1 button)
  function cookieDrop(){
    document.cookie = 'enrolled=0';
    $('#plusMessage').hide();
    $('#plusButton').show();
  }

  // Add the cookie (hide +1 button)
  function cookieAdd(state){
    if (state.state == 'on'){
      document.cookie = 'enrolled=1;expires=0';
      $('#plusMessage').show();
      $('#plusButton').hide();
    }
  }
</script>
</html>

演示:第一次单击后隐藏+1
演示:这里有加号按钮

您已经对该页面进行了+1操作,请单击此处
重新显示按钮

(功能(){ var po=document.createElement('script');po.type='text/javascript';po.async=true; po.src=https://apis.google.com/js/plusone.js'; var s=document.getElementsByTagName('script')[0];s.parentNode.insertBefore(po,s); if(document.cookie!=未定义和&document.cookie.indexOf('registered=1')>-1){ //用户+1'd $('plusButton').hide(); $('plusMessage').show(); }否则{ //用户没有+1'd $('plusButton').show(); $(“#plusMessage”).hide(); } })(); //删除cookie(显示+1按钮) 函数cookieDrop(){ document.cookie='已注册=0'; $(“#plusMessage”).hide(); $('plusButton').show(); } //添加cookie(隐藏+1按钮) 函数cookieAdd(状态){ 如果(state.state=='on'){ document.cookie='已注册=1;过期=0'; $('plusMessage').show(); $('plusButton').hide(); } }
除非API为此提供了一些直接选项,否则如果可能的话,我会感到惊讶。请查看以下问题:感谢您的回答@我将研究这个链接,看看a是否能让它工作并更新问题。