在我目前的情况下,我有一个加载iframe的页面。 iframe的内容无法事先确定,因此我需要使用javascript动态调整大小。我用来完成此任务的代码如下:
newIframe.onload = function() {
var cw = newIframe.contentWindow;
var doc = cw.document;
var body = doc.body,
html = doc.documentElement;
var height = Math.max(body.scrollHeight, body.offsetHeight,
html.clientHeight, html.scrollHeight, html.offsetHeight);
var width = Math.max(body.scrollWidth, body.offsetWidth,
html.clientWidth, html.scrollWidth, html.offsetWidth);
newIframe.style.width = width + "px";
newIframe.style.height = height + "px";
}
除非iframe的内容小于width = 300或height = 150,否则一切都按预期工作。在这种情况下(例如,iframe只包含图像w:160和h:600),计算出的宽度是错误的。
答案 0 :(得分:0)
通过将iframe的初始宽度和高度设置为0
,问题就消失了,因为这些值将用作默认值。