页面来源示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<title>Page</title>
</head>
<body>
<div class="main" style="height: 100%;">
<div class="header" style="height: 100px; background-color: green;"></div>
<iframe src="http://www.wikipedia.com"
style="height: 200px; width: 100%; border: none;"></iframe>
<div class="footer" style="height: 100px; background-color: green;"></div>
</div>
</body>
</html>
问题是,height
中200px
距离的IFrame内联样式是在移动Safari忽略:
另外,我想通过香草JavaScript动态更改IFrame的高度,该JavaScript在以下代码中根本无法使用:
document.getElementsByTagName('iframe')[0].style.height = "100px"
height
根据开发工具可以正确更改样式的值,但由于IFrame的实际渲染高度不会更改,因此可以将其忽略。
这似乎只是移动Safari中的问题,并且可以在最新版本的桌面Safari,Firefox,Chrome,Androids WebView等上正常运行。
测试页:http : //devpublic.blob.core.windows.net/scriptstest/index.html
附注:我在浏览器堆栈上的各种设备上对此进行了测试,并在此处拍摄了屏幕截图,因为我手边没有实际的iDevice。
它看起来像这样:如何使IFrame在iOS Safari中响应?
iFrame仅在iOS上存在问题,因此您必须对其进行调整。
您可以将div包裹iframe,在iframe上设置css,对我有用的是添加:将属性scrolling ='no'放进去。
祝你好运。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句