我们有javascript小部件,动态加载iFrame以显示外部内容。当iframe已加载或其内容已调整大小时,它会通过 postMessage 发送消息。小部件获取消息并调整iframe大小:
iframe.style.height = msg.value + 'px';
除了Android 5.0上的chrome 50之外,它在大多数浏览器上都能正常运行。此代码不适用于browserstack上的Windows Mobile Emulator。我试图更改属性和属性:
iframe.setAttribute("height", msg.value + 'px');
iframe.height = msg.value;
iframe.style.height = msg.value + 'px';
但它不起作用。
高度改变后我检查了一下:
setTimeout(function() {
alert(iframe.style.height)
},
10000);
警告显示iframe的高度已更改,但iframe未在页面上调整大小。
我不明白如何解决它。有没有人遇到同样的问题?
答案 0 :(得分:0)
这是css风格。我设置了!important
属性:
iframe.setAttribute('style', 'width: ' + msg.value + 'px !important');
然后它有效。