Facebook喜欢和Fancybox2没有显示或协议不匹配

时间:2013-04-13 10:29:29

标签: https facebook-like fancybox-2

我有一个奇怪的问题与Fancybox2和Facebook的按钮代码。我已经尝试了各种方法来使用facebook生成的代码集成like按钮,但它只是不起作用。这就是我所做的以及我得到的错误(问题将在最后出现)

a。我尝试使用iframe代码,如Fancybox页面的提示和技巧部分所示。按钮显示,我可以单击它但我收到以下错误:

  

不安全的JavaScript尝试使用URL访问框架   来自带框架的框架http://jsfiddle.net/TheEternalAbyss/67Fxp/   https://s-static.ak.facebook.com/connect/xd_arbiter.php?version=21#channel= ... l.net&安培; channel_path =%2F_display%2F%3Ffb_xd_fragment%23xd_sig%3Df2ddbc4ff%26。   请求访问的帧具有“https”协议,帧为   access具有'http'协议。协议必须匹配。

因此,如果单击了like按钮,它就不会向facebook发送任何内容,并且在功能上已经死亡。

b。我决定从Facebook的代码生成器尝试HTML5方法,一切似乎都没问题,但我没有按钮显示在点击的图像中。当我检查元素时,我看到div和那里的所有html,只是我在渲染页面上看不到任何内容。

这里可以看到...... http://jsfiddle.net/TheEternalAbyss/67Fxp/

有三点需要注意:1)我有ifram代码,所以如果你点击图像就会看到按钮,但你也会得到协议不匹配错误。 2)灰色边框区域(在页面中和单击图像时是HTML5方法,但只有当我的html代码为

时才有效)

<div class="fb-like" data-href='' data-send="false" data-width="400" data-height="25" data-show-faces="true" data-font="lucida grande"></div>

在jsfiddle的html区域。 3)正如你点击一个图像一样,那个灰色框中应该出现的是类似按钮,但我什么都没有。

最后我的问题是:

如何才能使这两种方法都工作..要么解决协议不匹配问题,要么使html5方法有效?

提前感谢您的协助。我真的需要弄清楚这一点!

修改 解析函数确实有助于让facebook显示出来,但是我仍然存在协议不匹配问题。我会更喜欢玩它,不再欢迎,谢谢!

1 个答案:

答案 0 :(得分:0)

如果您使用的是HTML5版本,则需要触发JavaScript调用以呈现按钮(如果它未在页面加载上呈现)。由于您需要在页面加载时显示“赞”按钮,请调用FB.XFBML.parse()函数,您将看到该按钮将会出现。

您需要做的是编辑fancybox的onclick事件,以便在用户点击图片时调用FB.XFBML.parse()