我一直找不到可行的答案。我有一个iframe(是的,在这种情况下我必须使用iframe),它在PC上运行良好,但在移动设备和平板电脑上根本无法加载。
页面上有一些Javascript代码,但删除它并不能解决问题。我还尝试将iframe的高度和宽度从百分比改为固定值。我还尝试删除iframe中除了src
之外的所有属性,但仍然无法在iframe中加载任何内容。
以下是我的页面的简化版本,使用了我能够从其他建议中找到的内容。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta content='width=device-width, initial-scale=1.0' name='viewport'>
<style type="text/css">
body, html
{
margin: 0; padding: 0; height: 100%; overflow: hidden; -webkit-backface-visibility: visible;
}
#content
{
position:absolute; left: 0; right: 0; bottom: 0; top: 0px;
}
</style>
</head>
<body>
<script type="text/javascript">
function onFrameLoad() {
do stuff
};
</script>
<div id="content">
<iframe onload="onFrameLoad(this)" id="app" src="https://subdomain.mydomain.com" frameborder="0" height="100%" width="100%"></iframe>
</div>
</body>
</html>
有人能告诉我为什么它在手机上不能正常工作吗?谢谢。
更新:在平板电脑上清除浏览器缓存解决了它的问题,但在手机上执行相同操作没有任何反应。我还尝试使用朋友的 iPhone(他们以前从未访问过该网站),但它无法加载。
我正在尝试在 iframe 中显示的 URL 在演示网站(如 w3schools)的移动设备上可以正常工作,因此不是 x- frame options
或浏览器不允许任何 iframes 的问题(尽管 x-frame options 会阻止其在所有设备上工作,但我已经检查了我能想到的所有东西)
如果需要,我可以通过消息提供实时示例 URL。