仅在facebook内显示facebook标签

时间:2012-03-24 19:58:59

标签: php html css facebook

嗨大家好
我正在使用woobox为我的页面创建facebook标签 - 我有一个问题:
我有一个HTML页面(放在我自己的服务器上),使用它作为我的facebook选项卡(使用woobox来创建选项卡),现在,当有人使用完整的URL时有一种方法
(http://www.spawnedchaos.com/hammercult12/fbTabs/fbCount.html在这种情况下)
他将被自动重定向到facebook标签(显示facebook内的页面)?

请帮帮我:)。

2 个答案:

答案 0 :(得分:0)

使用您网页中的小型JavaScript代码段即可轻松实现此目的:

// replace next URL with one for your page
if (window.top === window)
  window.top.location = '//facebook.com/pages/-/SomePageID?sk=app_12345678';

这不会阻止页面显示,但只要执行此代码就会发生重定向,因此可能越早出现在页面中就越好。

请注意,这只是检查父窗口是否与当前窗口相同,因此通常意味着页面不在框架内运行,并且没有专门检查Facebook。

答案 1 :(得分:0)

如果您可以选择使用某种服务器端脚本(即PHP)而不是仅使用平面HTML文件,那么您可以检查Facebook发布到选项卡的已签名请求的存在。这是确保只能通过Facebook标签打开内容的唯一100%确保方式。

JuicyScripter的解决方案在大多数情况下都可以使用,但如果有人要在iframe中打开您网页的网址,则可以规避它。

如果前端javascript是您唯一的选择,更好的测试可能是检查引荐网址并确保它来自您的网页。 IE:

    if (document.referrer.indexOf('facebook.com/pages/-/SomePageID') == -1) {
      window.top.location = '//facebook.com/pages/-/SomePageID?sk=app_12345678';
    }