iFrame未在手机或平板电脑上加载

Lya*_*all 10 html iframe android ios

我找不到一个有效的答案.我有一个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>
Run Code Online (Sandbox Code Playgroud)

任何人都可以告诉我为什么它不能在移动设备上工作?谢谢

更新:清除平板电脑上的浏览器缓存修复它,但在移动设备上做同样的事情并没有做任何事情.我也尝试过使用我朋友的iPhone(他们之前从未访问过该网站)并且没有加载.

我试图在iframe中显示的网址在我的手机上的w3schools等演示网站上的iframe中运行,因此它不是一个x-frame options或浏览器不允许任何iframe问题(尽管x-frame选项会阻止它在所有设备上工作,但我'我检查了我能想到的一切)

如果需要,我可以通过消息提供实时示例URL.

Lya*_*all 6

问题正如我所怀疑的 - iframe 的 URL 调用了一些不安全的元素,如果内容在安全和非安全之间混合(我的域是所有 https)。

现在这些都已修复并且所有内容都被安全地托管/调用,完全清除缓存并重新加载页面即使在移动浏览器上也可以解决问题。

它适用于平板电脑而不是移动设备的原因完全取决于时间以及不同元素 https 链接何时被破坏(改为重定向到 http)以及不同页面何时被缓存。


h--*_*--n 5

现在已经是 2019 年了,在 mobile safari 和 chrome 上测试,无论主页使用 http 还是 https, iframe url 都必须使用https。http iframe 根本不加载。