我想将我服务器上的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");
};
如果我用浏览器打开页面,一切正常。但是,如果我链接到此页面并打开链接,重定向将无法正常工作。任何提示?
答案 0 :(得分:7)
使用window.top检测您的应用是否在iFrame中。试试这个。
if (window!=window.top) {
/* I'm in a frame! */
window.location = "https://www.facebook.com/bommelME/app_264697733636385";
}
干杯。
答案 1 :(得分:1)
我认为您应该检查window.parent
对象而不是document.referrer
,因为该页面可以从您说过的另一个页面引用,但不会通过iframe包含