我目前有一个网站,其中包含专为平板电脑设备(例如iPad)设计的iFrame。 我能够在父级中检测方向以更改iFrame本身的宽度和高度,但我似乎无法通过iFrame页面检测更改时设备的方向。
我知道如果我在Safari Mobile中加载iFrame本身的实际页面而不是在iFrame中,它会检测更改并根据当时的方向旋转。 如果我在iFrame中加载横向页面时,它会以横向方式加载内容,反之亦然。 它似乎不希望在iFrame中加载自身后不断检测方向,仅在初始加载时。
有没有办法告诉iFrame方向在某种程度上有所改变?我使用过这段代码,但没有成功:
window.addEventListener("orientationchange", function(){
var iframe = document.getElementById("youriframe").contentWindow;
iframe.postMessage({
orientation: window.orientation
}, 'http://the.domain.of.the.iframe.com');
}, false)
更难的是我无法编辑iFrame的内容,因为它不是我的!下面的代码就是您要注入的代码!
window.addEventListener("message", function(e){
var newOrientationValue = e.data.orientation;
alert(newOrientationValue); // <--- DO your own logic HERE
}, false)
请帮忙,我这几天一直绞尽脑汁! 希望一切都有意义。