Javascript 设置IFRAME的style.height属性对Android Mobile Safari没有任何影响

Javascript 设置IFRAME的style.height属性对Android Mobile Safari没有任何影响,javascript,android,html,dom,Javascript,Android,Html,Dom,我有一个名为“parent.HTML”的HTML,它在IFRAME中显示“child.HTML”。我尝试按以下方式调整IFRAME的高度 f = document.getElementById('frame'); log('B: Frame height: ' + f.style.height); log('B: Child offsetHeight: ' + f.contentWindow.document.body.offsetHeight); log('B: Child scrollHei

我有一个名为“parent.HTML”的HTML,它在IFRAME中显示“child.HTML”。我尝试按以下方式调整IFRAME的高度

f = document.getElementById('frame');
log('B: Frame height: ' + f.style.height);
log('B: Child offsetHeight: ' + f.contentWindow.document.body.offsetHeight);
log('B: Child scrollHeight: ' + f.contentWindow.document.body.scrollHeight);
f.style.height = f.contentWindow.document.body.offsetHeight + 'px';
log('A: Frame height: ' + f.style.height);
它可以在桌面浏览器上工作,如左侧显示的谷歌浏览器的屏幕截图所示。它在三星Galaxy s II上的Android默认浏览器上不起作用

浏览器详细信息 以下是两种浏览器的用户代理字符串:

Mozilla/5.0 X11;Linux x86_64 AppleWebKit/536.5 KHTML,如Gecko Chrome/19.0.1084.41 Safari/536.5 Mozilla/5.0linux;U安卓2.3.4;en gb;GT-I9100G Build/GINGERBREAD AppleWebKit/533.1 KHTML,如Gecko版本/4.0 Mobile Safari/533.1 HTML 以下是“parent.html”的完整代码:

<!DOCTYPE HTML>
<html>
<head>
<title>Parent</title>
<meta name="viewport" content="width=device-width,initial-scale=1">
<style type="text/css">
div#log {
    background: #333333;
    color: white;
    padding: 10px;
}

iframe#frame {
    height: 200px;
}
</style>

<script type="text/javascript">
var logDiv;
var f;

window.onload = function() {
    logDiv = document.getElementById('log');
    logDiv.innerHTML = 'Logger ready<br>';

    f = document.getElementById('frame');
    log('B: Frame height: ' + f.style.height);
    log('B: Child offsetHeight: ' + f.contentWindow.document.body.offsetHeight);
    log('B: Child scrollHeight: ' + f.contentWindow.document.body.scrollHeight);
    f.style.height = f.contentWindow.document.body.offsetHeight + 'px';
    log('A: Frame height: ' + f.style.height);
}

function log(msg)
{
    logDiv.innerHTML += msg + '<br>';
}
</script>
</head>
<body>
<iframe id="frame" src="child.html">IFRAME not supported</iframe>
<div id="log">&nbsp;</div>
</body>
</html>
以下是“child.html”的完整代码:

<!DOCTYPE HTML>
<html>
<head>
<title>Child</title>
</head>
<style type="text/css">
body, p {
    margin: 0;
    padding: 0;
}
</style>
<body>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer
fermentum, nunc eget bibendum imperdiet, est odio sagittis lectus,
volutpat viverra odio eros vel quam.
</div>
</body>
</html>
问题 这是预期的行为吗?有没有在线文档描述我可以在Android浏览器中操作哪些DOM对象,哪些不能? 在Android中有没有其他方法可以调整IFRAME的大小?
你不能直接删除iframe并使用div吗?@RepWhoringPeeHaa然后通过生成XMLHttpRequest来更新div吗?我当然能做到。然而,我仍然想知道是否有一种方法可以使用iframe解决这个问题。我也有同样的问题,嵌入了YouTube视频。。。有消息吗?