【问题标题】:How to change Facebook 'Like' button to 'Recommend' button如何将 Facebook 的“喜欢”按钮更改为“推荐”按钮
【发布时间】:2010-10-06 16:45:03
【问题描述】:

我有一个 sn-p 来为我们的新闻网站创建一个“喜欢”按钮:

<iframe id="likeButton" src="http://www.facebook.com/widgets/like.php?href="
        scrolling="no" frameborder="0"
        style="border:none; width:450px; height:80px"></iframe>

但是,为了让它正常工作,因为按钮发布了一个错误,说按钮位于无效的 URL 地址上,我添加了一些 jQuery 来调整 URL,如下所示:

<script type="text/javascript">
    $(document).ready(function(){    
        var imageFile = $('#likeButton').attr( 'src');
        eval("imageFile = imageFile +"+"window.location.href;");     
        eval("$('#likeButton').attr( 'src', function(){return imageFile +"+"window.location.href;});");
    });
</script>

据我所知,这是可行的。

我想将按钮从赞改为推荐并从 Facebook 网站知道我需要将 action=recommend 属性附加到 URL。但作为一个新手,我一直无法添加它,所以它可以工作。如何向 URL 添加属性?

【问题讨论】:

  • 您可能还需要在添加 action=recommend 之前去掉原来的 action=like 参数。来自 FB 的默认小部件代码在查询字符串中包含 action=like。 (打算在乔希的回答下发布)

标签: javascript facebook iframe


【解决方案1】:

首先,在这种情况下,您没有任何业务呼叫eval。很少需要 eval ,应该不惜一切代价避免它。说了这么多,看下面的代码。我只是使用标准查询字符串语法构建新的src 属性以添加您的新操作值,然后设置它。不言自明...

$(document).ready(function(){
  var iframe = $("#likeButton");
  var newSrc = iframe.attr("src");
  newSrc += encodeURIComponent(location.href);
  newSrc += "&action=recommend";

  iframe.attr("src", newSrc);
});

如果其中的任何内容对您来说没有意义,请随时提问,我会进一步解释。

【讨论】:

  • 这应该可行,是的,但我可以建议您将var img 更改为其他名称吗? #likeButton&lt;iframe&gt;,而不是 &lt;img&gt;
  • 太棒了。我仍在掌握基本的字符串操作,因此感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 2012-06-06
  • 1970-01-01
  • 1970-01-01
  • 2012-02-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多