5

当我点击我网站上的“赞”按钮时,我收到了一系列错误。

阻止来源为“ https://www.facebook.com ”的框架访问来源为“ http://static.ak.facebook.com ”的框架。请求访问的帧具有“https”协议,被访问的帧具有“http”协议。协议必须匹配。

发布https://www.facebook.com/plugins/like/connect 500(确定)

这是代码:

<div class="feedback facebook">
    <iframe allowtransparency="true" src="http://www.facebook.com/plugins/like.php?href=<?php echo get_permalink(); ?>&amp;layout=button_count&amp;show_faces=false&amp;width=80&amp;action=like&amp;colorscheme=light" scrolling="no" frameborder="0" style="border: medium none; overflow: hidden; width: 160px; height: 21px;"></iframe>
</div>

不确定我的代码有什么问题。我尝试对 URL 进行 urlencoding。任何想法都非常感谢。

4

1 回答 1

0

请求访问的帧具有“https”协议,被访问的帧具有“http”协议。协议必须匹配。

您的链接显然正在对https://www.facebook.com/plugins/like/connect进行 HTTP POST ,而它应该对http://www.facebook.com/plugins/like/connect进行 HTTP POST 。

话虽如此,您的 iframe 代码示例并不完全有帮助,因为重要的部分是函数“get_permalink()”返回的内容(在此处描述:http: //codex.wordpress.org/Function_Reference/get_permalink

做这个:

代替

src="http://www.facebook.com/plugins/like.php?href=<?php echo get_permalink(); ?>&amp;layout=button_count&amp;show_faces=false&amp;width=80&amp;action=like&amp;colorscheme=light"

src="http://www.facebook.com/plugins/like.php?href=<?php echo str_replace("https","http",get_permalink()); ?>&amp;layout=button_count&amp;show_faces=false&amp;width=80&amp;action=like&amp;colorscheme=light"

请查看以下内容(以及链接)

在 2013 年 7 月迁移之后,Like 按钮需要在 href 参数中使用绝对 URL。

https://developers.facebook.com/roadmap/#july2013

于 2013-07-08T01:47:44.273 回答