Facebook喜欢按钮错误 - 阻止框架

时间:2013-05-26 20:30:24

标签: jquery facebook

我正在使用jQuery创建动态Facebook“赞”按钮。但是我收到的错误只是一遍又一遍地重复。

我创建按钮的jQuery是:

$('#fbLike').html('<fb:like href="'+url+'" send="false" layout="button_count" width="80" show_faces="true" />');
FB.XFBML.parse(document.getElementById('fbLike'));

但是,我收到以下错误:

Blocked a frame with origin "https://www.facebook.com" from accessing
a frame with origin "http://localhost:8888".  The frame requesting
access has a protocol of "https", the frame being accessed has a
protocol of "http". Protocols must match.

有什么想法吗?

  • 修改

    (function(d,s,id){ var js,fjs = d.getElementsByTagName(s)[0]; if(d.getElementById(id))返回; js = d.createElement(s); js.id = id; js.src =“//connect.facebook.net/en_US/all.js#xfbml=1”; fjs.parentNode.insertBefore(js,fjs); }(document,'script','facebook-jssdk'));

2 个答案:

答案 0 :(得分:3)

这是因为协议不匹配。

您正尝试在http页面中创建https框架。

由于您的浏览器禁用了混合内容,因此您会看到该错误。

您可以通过命令行arg在Google Chrome上启用混合内容。

chrome.exe --allow-running-insecure-content

答案 1 :(得分:0)

你好Ian你试过按https://localhost/appname并再次开始通话吗?如果您正在运行XAMPP,LAMP,MAMP之类的东西,您的默认站点应绑定到端口443(https),希望允许您的请求协议匹配。如果您仍然遇到相同的问题,您可能需要考虑从实际的Web服务器(面向WWW)尝试此操作并查看问题是否仍然存在。另外Facebook上没有设置你需要启用以允许将localhost用于他们的API(在这里黑暗中摇摆)?