我正在写一个基于iframe的Facebook应用程序。现在,我想使用相同的html页面来呈现普通网站以及facebook中的画布页面。我想知道是否可以确定页面是否已在iframe中加载或直接在浏览器中加载?
浏览器可能window.top由于相同的原始策略而阻止访问。IE错误也会发生。这是工作代码:
window.top
function inIframe () { try { return window.self !== window.top; } catch (e) { return true; } }
top和self都是window对象(以及parent),因此您正在查看窗口是否是顶部窗口。
top
self
window
parent