Javascript 确定调用的页面是在iframe内部加载还是直接从浏览器加载的最有效方法?

Javascript 确定调用的页面是在iframe内部加载还是直接从浏览器加载的最有效方法?,javascript,html,facebook,iframe,facebook-iframe,Javascript,Html,Facebook,Iframe,Facebook Iframe,我想检查加载的页面是直接从浏览器加载还是在任何框架内调用,包括Facebook应用程序作为画布页面 这对我来说真的很重要。我发现了这个问题,但有人说它在某些浏览器上不起作用 如果jquery提供了更好的解决方案,或者这个解决方案是最好的,我也可以使用jquery 非常感谢你的回答 function inIframe () { try { return window.self !== window.top; } catch (e) { return

我想检查加载的页面是直接从浏览器加载还是在任何框架内调用,包括Facebook应用程序作为画布页面

这对我来说真的很重要。我发现了这个问题,但有人说它在某些浏览器上不起作用

如果jquery提供了更好的解决方案,或者这个解决方案是最好的,我也可以使用jquery

非常感谢你的回答

function inIframe () {
    try {
        return window.self !== window.top;
    } catch (e) {
        return true;
    }
}


所以,您认为这是一种更好的方法,适用于更多浏览器?您不想使用!==因为在IE中,self和top指的是两个不同的代理对象,所以会得到一个误判。使用!=相反
function isIframe() {
var isInIframe = (window.location != window.parent.location) ? true : false;
alert(isInIframe);
}