【问题标题】:Most effective way of determining whether called page is being loaded inside iframe or directly from browser?确定被调用页面是在 iframe 内还是直接从浏览器加载的最有效方法?
【发布时间】:2014-04-04 11:42:42
【问题描述】:

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

这对我来说真的很重要。我发现了这个问题How to identify if a webpage is being loaded inside an iframe or directly into the browser window? 但有人说它在某些浏览器上不起作用?

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

非常感谢您的回答

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

【问题讨论】:

  • 你不想使用 !== 因为在 IE 中,self 和 top 指的是两个不同的代理对象,你会得到一个误报。请改用 !=。

标签: javascript html facebook iframe facebook-iframe


【解决方案1】:

http://www.jquery4u.com/snippets/jquery-check-window-iframe/

function isIframe() {
var isInIframe = (window.location != window.parent.location) ? true : false;
alert(isInIframe);
}

【讨论】:

  • 所以您认为这是更好的方法并且可以在更多浏览器上使用?
猜你喜欢
  • 2016-03-28
  • 1970-01-01
  • 1970-01-01
  • 2019-10-01
  • 2017-06-16
  • 2022-06-19
相关资源
最近更新 更多