如何从跨域 iframe 中访问父窗口的 window.orientation?

Posted

技术标签:

【中文标题】如何从跨域 iframe 中访问父窗口的 window.orientation?【英文标题】:How can I access window.orientation of parent window from inside a cross-domain iframe? 【发布时间】:2011-11-03 02:14:32 【问题描述】:

我尝试了各种访问父窗口的方向变量的方法,但它似乎总是“未定义”或“空”。

以下是我尝试访问父窗口方向的不同方式:

parent.window.orientation
window.parent.orientation
window.opener.orientation
parent.document.orientation (shouldn't work, but I tried anyway)
parent.orientation

我也尝试过监听“orientationChanged”事件:

parent.document.addEventListener('orientationChanged',function() 
    alert('orientation changed');
    );

以上方法都不能检测 iframe 父级的方向。

很遗憾,我必须使用 iframe。我正在设计一个将放置到跨域 iframe 中的移动页面。最好,我希望能够从 iframe 中检测到方向变化,而不是让客户端在他们的页面上放置额外的 javascript

【问题讨论】:

【参考方案1】:

这对我有用。 http://benalman.com/projects/jquery-postmessage-plugin/

【讨论】:

我知道 postMessage() 是一个选项,但我想知道是否有办法获得父方向而无需向父页面添加任何额外的 Javascript。

以上是关于如何从跨域 iframe 中访问父窗口的 window.orientation?的主要内容,如果未能解决你的问题,请参考以下文章

获得从 iframe 到我无法控制的父窗口 dom 的跨域访问?

从跨域在 iframe 上应用样式

子iframe 怎么访问 父的 iframe方法

iframe 子页面改变父页面样式

使用postMessage在不同iframe间跨域传递消息

如何从跨域 Ajax 请求访问 Content-Length 标头?