Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果不在fb iframe中,则js重定向_Javascript_Facebook_Redirect - Fatal编程技术网

Javascript 如果不在fb iframe中,则js重定向

Javascript 如果不在fb iframe中,则js重定向,javascript,facebook,redirect,Javascript,Facebook,Redirect,我想将所有访问我服务器上Facebook应用程序选项卡的流量直接重定向到我的Facebook应用程序。因此,我使用以下代码检查用户是否在Facebook iframe内或我的网页上: <!-- language: lang-js --> function referrerIsFacebookApp() { if(document.referrer) { return document.referrer.indexOf("facebook.com") !== -

我想将所有访问我服务器上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");
};

函数refererRisfaceBookApp(){
if(文件参考人){
返回document.referer.indexOf(“facebook.com”)!=-1;
}
返回false;
}
如果(!refererIsFaceBookApp()){
顶部。位置。替换(“https://www.facebook.com/bommelME/app_264697733636385");
};

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

我认为你应该检查
窗口。父对象而不是
文档。引用者,因为正如你所说,该页面可以从另一个页面引用,但不能通过iframe包含使用window.top来检测你的应用程序是否在iframe中。试试这个

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

干杯。

这取决于您的
referrerIsFacebookApp
函数中的内容。我刚刚编辑了代码。贴错了;)