javascript - 从 Facebook Canvas 页面重定向到网站

标签 javascript facebook redirect facebook-javascript-sdk

有没有办法从我的 Facebook Canvas 页面重定向到我的外部网站?我看过以下形式的博客和 stackoverflow 答案:

<script>
window.top.location = 'http://www.yoursite.com/';
</script>

不幸的是,这些解决方案永远行不通。我也尝试了 top.location.href、window.location 和 location.href.. 没有任何效果。 Facebook 是否通过解析此类代码消除了从 javascript 重定向的可能性?有没有办法仍然重定向?

更新:发生的情况是网页的行为就像从来没有 javascript 重定向指令一样。事实上,当我通过 firebug 查看源代码时,我没有看到任何 javascript 重定向。

更新 2:当我尝试 window.top.location = 'http://www.yoursite 时,我的 Canvas 页面出现以下 javascript 错误.com/'; 和上面的其他变体。 Facebook 似乎不允许访问窗口、顶部或位置全局 javascript 变量:

Uncaught ReferenceError: a217374027657_location is not defined
Uncaught ReferenceError: a217374027657_window is not defined
Uncaught ReferenceError: a217374027657_top is not defined

有趣的是,document.location = 'http://www.yoursite.com/'; 的工作原理是没有异常(exception)……当然网页不会被重定向。

更新 3:搞清楚了! Javascript 重定向仅适用于 iframe Canvas 。我必须更改高级屏幕中的设置以使用 iframe 而不是 FBML。

最佳答案

如何使用以下代码:

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

关于javascript - 从 Facebook Canvas 页面重定向到网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7157825/

相关文章:

javascript - Facebook 广告转化跟踪 - fb_param.value

android - 键盘与 facebook 登录屏幕重叠

javascript - 移动重定向 : Meta or Javascript?

php - 带有 2 个参数的 symfony 重定向

asp.net - 限制从 URL 访问文件

javascript - 使用 Javascript 限制 Words 中文本区域的长度?

javascript - 登录成功后如何将JSON Web Tokens传递给不同的网页?

Facebook 应用程序 : storing user photo thumbnails

javascript - 如何在javascript中获取跨域请求的响应

javascript - ES6 : "import * as alias" vs "import alias"