如何制作一个只是链接而不是 iFrame 的 Facebook“Like”按钮?

Posted

技术标签:

【中文标题】如何制作一个只是链接而不是 iFrame 的 Facebook“Like”按钮?【英文标题】:How to make a Facebook "Like" button that is just a link, not an iFrame? 【发布时间】:2011-02-26 15:32:17 【问题描述】:

我想在发送给我们的电子通讯订阅者的电子邮件中添加一个“喜欢”按钮。嵌入使用 iframe 技术的 Like 按钮的常用方法行不通。

我想做的是有一个静态超链接,点击按钮图像将转到我们相应的 Facebook 页面的特定 URL,并执行成为粉丝的动作。

任何人都可以找到一种官方或非官方的 URL,可以链接到该 URL 将您带到 Facebook 上的页面并执行适当的操作吗?

【问题讨论】:

【参考方案1】:

如果链接可以强制执行操作,那将是一个非常不安全的系统。人们会在商店里“喜欢”他们不想要的东西。想象一下,公司在 Twitter 上发送一个缩短的 URL 并获得数百个非法“赞”是多么容易。

最好让人们自己明确地这样做,因此您可以通过电子邮件将人们链接到 Facebook 页面并希望他们会点击喜欢。如果这是一个好的/有用的页面,那么他们很有可能会这样做。

一种方法是让电子邮件旨在让人们访问您自己网站上的目标网页。然后,您可以在其上添加一个赞按钮,并使用Open Graph Protocol 元标记将“赞”应用于主页或整个网站。

如果您希望着陆页上的点赞按钮成为整个网站的通用按钮,请使用规范的 og:url 元标记,例如:

<meta name="og:url" content="http://yoursite.com/" />

【讨论】:

这是一个正确的答案,但有时很难向您的老板解释,如果您是这种情况,您可以将我的答案提供给您的管理层。【参考方案2】:

出于安全原因,永远不可能从电子邮件中通过 Facebook“点赞”插件点赞某些网站。仅当某些服务器管理员不剪掉 JS 或 iframe 时,这是不正常的——大多数电子邮件服务器都会剪掉它。

This answer(来自 Yevgeniy Afanasyev)是绝对错误的!它从未奏效!此答案中的代码仅使您可以访问 Facebook 页面,然后您就有可能喜欢该网站。这个答案中的所有这些代码只不过是给你这样的链接:

https://www.facebook.com/plugins/like.php?href=https://***.com

在此链接的href=https://***.com 部分中,您可以放置​​任何其他网站地址。如果您在此地址中有一些 &amp;amp; 字符,则必须将其替换为 &amp;amp;

并且不要认为如果这个答案被多次投票,那么它是正确的或有效的。我认为这些支持这个 unswer 的用户不明白他们做了什么。他们已经看到了一些代码,并在不假思索或不理解的情况下对其进行了投票。

为什么这不可能

想象一下,您收到一封电子邮件和其中包含“非常有趣的视频”文字的链接按钮。然后,如果您单击它,那么您会想要一些您不喜欢或不知道的站点。出于安全原因,这是不可能的。

如果您使用某些链接,您必须始终确认您的所有操作。

可能的解决方法

您可以为您的网站编写一些漂亮的登录页面,而不是这个链接,然后在电子邮件中,您可以在电子邮件按钮中写下这个链接,并带有该页面的地址。在这个页面中你可以使用普通的 Facebook “Like” 插件。

【讨论】:

感谢您对我的回答的批评,抱歉我没有立即注意到。现在,当我注意到它时,我相信我已经改进了它。以后,请留下评论家作为评论,这就是我将被告知您的想法的方式。谢谢。 “普通 Facebook“点赞”插件”会在 Page Speed Insights 上花费 10-20 分。这是一个巨大的负载和处理量。所以它确实有缺点。【参考方案3】:

出于安全原因,永远不可能从电子邮件中通过 Facebook“点赞”插件点赞某些网站。

但有时很难向你的老板解释,他想要的东西与其他电子邮件所拥有的相似。如果这是您的情况,您可以向您的管理层提供我的答案。

以下代码不会让您成为该页面的粉丝,而是喜欢该网站的主页,它会为您提供一个 Like 按钮和“X 个人喜欢这个。成为您的第一个朋友。”

如果这是你想要的,请看代码:

替换 http://eyeclarity.com.au - 到您的网站 如果您不喜欢我的喜欢按钮,请替换 http://www.4wdaction.com.au/_phpBB/download/file.php?id=68849 和你的一个

<a title="Like this on Facebook" 
   href="http://www.facebook.com/plugins/like.php?href=http://eyeclarity.com.au&amp;
   layout=standard&amp;
   show_faces=false&amp;
   width=450&amp;
   action=like&amp;
   colorscheme=light&amp;"
>
    <img title="Facebook Like Button"
         src="https://upload.wikimedia.org/wikipedia/commons/1/13/Facebook_like_thumb.png" 
          
          
          
    />
</a>

jsfiddle

上述代码会将您重定向到一个链接,如下所示

https://www.facebook.com/plugins/like.php?href=http://eyeclarity.com.au&%20%20%20layout=standard&%20%20%20show_faces=false&%20%20%20width=450&%20%20%20action=like&%20%20%20colorscheme=light&

现在,您可以尝试单击它并查看 Facebook 提供的一些动画。

【讨论】:

这并没有成为该页面的粉丝,而是喜欢该网站的主页,这是非常不同的。加上它呈现的页面非常神秘;它甚至没有说你喜欢哪个 URL,只是一个喜欢按钮和“X 个人喜欢这个。成为你的第一个朋友。” @DavidHarkness 感谢您的评论,它确实解释了答案所提供的内容。我非常喜欢你的话,我把它们放进了答案本身。如果您同意,请告诉我。谢谢。 @DavidHarkness,我还对roborourke 的回答发表了评论,说他的回答是最好的,但我的回答只是为想要与其他人类似的经理提供一些替代方案电子邮件有。【参考方案4】:

除了另一个说不可能的答案之外,我将简要解释为什么 Facebook(或任何其他需要登录的网站)不支持它。

假设某人有一个帖子,Facebook 将自动为帖子点赞的 href 提供给了所有者。 (为简单起见,我们只说fb.com/like/post_id

如果他推出包含此类标签的电子邮件通讯会怎样?

<img src="fb.com/like/post_id" />

它不一定是一个 img src,但网络浏览器无论如何都会尝试连接到fb.com/like/post_id,然后......繁荣。阅读此电子邮件后,无论您的意图如何,您都会自动点赞该帖子。

这就是为什么不能推出包含“赞”链接的电子邮件的原因。

【讨论】:

按照REST规范,按钮应该激活POST请求,&lt;img标签会激活Get请求。 @YevgeniyAfanasyev 是的,就像表单中的按钮应该发送 POST 请求,但这个问题是询问可以嵌入电子邮件中的链接。我想当用户单击电子邮件中的链接时,它会更改发送该 URL 的 GET 请求的 href.location(或打开新链接,如果 target='blank')。

以上是关于如何制作一个只是链接而不是 iFrame 的 Facebook“Like”按钮?的主要内容,如果未能解决你的问题,请参考以下文章

如何在不滚动iframe的情况下显示网页的“头部”?

zai页面中嵌套了一个iframe 框,怎么能够让iframe 中的提示框在整个页面查看,而不是只是在那个框中

网页中如何实现点击iframe中的一个链接,使整个页面(不是只有iframe)跳转到新的页面

我希望我的 iframe 弹出窗口仅在单击图像/链接时才可见,而不是默认情况下

如何在地址栏打开一个网页指定IFRAME进行显示

控制 iframe 内的 Colorbox 位置