4

我想将转到我服务器上我的 Facebook 应用程序选项卡的所有流量直接重定向到我的 Facebook 应用程序。因此,如果用户在 Facebook iframe 内或在我的网页上,我会检查以下代码:

<!-- language: lang-js -->
function referrerIsFacebookApp() {
    if(document.referrer) {
        return document.referrer.indexOf("facebook.com") !== -1;
    }
    return false;
}

if (!referrerIsFacebookApp()) {
    top.location.replace("https://www.facebook.com/bommelME/app_264697733636385");
};

如果我用浏览器打开页面,一切正常。但是,如果我链接到此页面并打开链接,则重定向不起作用。有什么提示吗?

4

2 回答 2

7

使用 window.top 来检测您的应用是否在 iFrame 中。尝试这个。

if (window!=window.top) { 
   /* I'm in a frame! */ 
   window.location = "https://www.facebook.com/bommelME/app_264697733636385";
}

干杯。

于 2012-07-20T14:41:36.263 回答
1

我认为您应该检查window.parent对象而不是document.referrer,因为可以按照您所说的从另一个页面引用该页面,但不能通过 iframe 包含该页面

于 2012-07-20T14:38:01.477 回答