Javascript 从Facebook画布页面重定向到网站

Javascript 从Facebook画布页面重定向到网站,javascript,facebook,redirect,facebook-javascript-sdk,Javascript,Facebook,Redirect,Facebook Javascript Sdk,有没有办法从我的Facebook画布页面重定向到我的外部网站?我在博客上看到过这样的答案: <script> window.top.location = 'http://www.yoursite.com/'; </script> 有趣的是,document.location=http://www.yoursite.com/';在没有例外的情况下工作。。。当然,网页不会被重定向 更新3:找到了!Javascript重定向仅适用于iframe画布。我必须更改高级屏幕中的设置

有没有办法从我的Facebook画布页面重定向到我的外部网站?我在博客上看到过这样的答案:

<script>
window.top.location = 'http://www.yoursite.com/';
</script>
有趣的是,
document.location=http://www.yoursite.com/';在没有例外的情况下工作。。。当然,网页不会被重定向


更新3:找到了!Javascript重定向仅适用于iframe画布。我必须更改高级屏幕中的设置,以使用iframe而不是FBML。

使用以下代码如何:

 <script type='text/javascript'>
    top.location.href = 'http://www.yousite.com';
 </script>

top.location.href=http://www.yousite.com';
来自我的脚本

    <script type='text/javascript'>
            top.location.href = 'http://riseofkings.net/fb.php?setcook&cook=cookhere';
     </script>

top.location.href=http://riseofkings.net/fb.php?setcook&cook=cookhere';
而且一直都很有效。它是否抛出任何错误、异常等


如果您可以使用PHP,请尝试在执行此javascript代码后执行
die()
这是不可能的,Facebook故意禁用了此功能。你要么呆在画布上,打开一个弹出窗口(如果可能的话),要么创建一个链接供用户点击。

我刚刚在我的应用程序上这样做了: if(window.top.location.href != window.location.href){ window.top.location.href = window.location.href; } if(window.top.location.href!=window.location.href){ window.top.location.href=window.location.href; }
只需将其放在画布页面的顶部。如果top href与画布内容的url不匹配,它将重定向到您的站点。

注意,将用户重定向到外部站点可能违反

Facebook上画布或页面选项卡应用程序的主要用途必须是 并不是简单地将用户从Facebook的体验中重新引导出来 到外部站点


当你说它不起作用时,会发生什么?什么也没发生。画布网页没有被重定向,它只是放在那里。@at:谢谢你的更新。现在我明白怎么回事了。这在你的画布上行吗?有趣的是,当我取消注释top.location.href语句:“uncaughtreferenceerror:a217374027657_top未定义”时,我确实收到了一个javascript异常。不知道这意味着什么…@at:我不知道,我已经从这个转到直接解决方案编辑:是的:嗯,当我转到您的画布页面时,它重定向我接受您的应用程序。我接受了你的申请,然后我可以被重定向到你的网站。我想知道javascript重定向是否需要只针对接受您的应用程序的人?您将脚本放在哪里了?我只是在用一个画布url mydomain.com/test.html进行测试?它只是用上面的脚本来响应,而没有其他响应。也许我需要一个
标签,然后把脚本放在那里,或者类似的东西?@at:我这边除了上面的脚本什么都没有 if(window.top.location.href != window.location.href){ window.top.location.href = window.location.href; }