如何检查某个页面是否嵌入Facebook?

如何检查某个页面是否嵌入Facebook?,facebook,Facebook,我有一个网站,既可以作为独立网站,也可以嵌入Facebook。一般来说,它工作正常,但我想在它的一些网页上的内容有所不同,这取决于它是否嵌入。我的意思是,它现在是通过Facebook浏览的。我该怎么做 如果“嵌入式”是指在Facebook上作为画布应用程序运行,那么简单的: if (window.location.indexOf("facebook.com") !== -1){ //Not embedded } else { //Embedded in Facebook as a

我有一个网站,既可以作为独立网站,也可以嵌入Facebook。一般来说,它工作正常,但我想在它的一些网页上的内容有所不同,这取决于它是否嵌入。我的意思是,它现在是通过Facebook浏览的。我该怎么做

如果“嵌入式”是指在Facebook上作为画布应用程序运行,那么简单的:

if (window.location.indexOf("facebook.com") !== -1){
    //Not embedded
} else {
    //Embedded in Facebook as a canvas app.
}

这会对你有帮助吗?

使用服务器端语言,你可以看到在初始加载到iframe时是否有
签名请求
POST参数传递到你的应用程序中(如果是这样,你很可能在facebook.com中看到你的页面),然后将该信息保存到你的会话中,因此,一旦用户在iframe中启动应用程序内的导航,您仍然可以知道自己的位置。

不,这不会“起作用”,因为
窗口是应用程序运行的iframe,其中的位置将包含其应用程序的域,不是facebook.com–由于同一来源策略,在父/顶框的位置对象上,您没有读取权限。