2017-07-15 43 views
7

我一直未能找到有效的答案。我有一个iframe(是的,我必须在这种情况下使用iframe),它可以在PC上正常工作,但不会在手机或平板电脑上加载。未在手机或平板电脑上加载iFrames

页面上有一些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(他们从来没有访问过该网站),并没有加载。

我想在上演示等网站上我的手机W3Schools的I帧的iframe作品展示,所以它不是一个x-frame options或浏览器不允许任何Iframe的问题(虽然X框选项会停止工作的所有网址设备,但我检查一切我能想到的)

我可以根据需要通过邮件提供一个活生生的例子URL。

+1

我想我想通了......子站点的URL正在通过CNAME记录第三方托管,他们已经暂时“破”他们的SSL证书,而迁移到新版本。我认为android和iphone浏览器的工作方式与Firefox相同,如果安全站点试图显示混合内容,它就不会显示。如果我使用的浏览器之前没有使用过,那么页面不会显示,但如果我使用了一个我已经使用过的浏览器(即使在清除缓存后),它会显示出来。显然,他们应该在本周完成它,希望能够修复它。 – Lyall

+0

虽然在我的平板电脑上清除缓存后,它仍然显示工作的https版本,一切正常...嗯。混乱。 – Lyall

+0

您是否遵守跨源资源共享(CORS)政策? iframe内容需要在响应中正确设置“Allow-Access-Control-Origin”头部,否则现代Web浏览器将阻止响应以保护用户。 –

回答

0

问题出在我怀疑 - 如果内容混合在安全和非安全之间,iframe的网址会调用某些不安全的元素,并且移动设备和平板电脑上的某些浏览器(以及桌面上的Firefox)不会显示任何内容(我的域名都是https)。

现在这些是固定的,一切都托管/安全地叫,彻底清除缓存和重新加载页面修复即使在移动浏览器的问题。

,它正在对平板电脑和不可移动的原因纯粹是到计时,当不同的元素HTTPS链接被打破(重定向而不是HTTP)和在不同的页面进行缓存。

0

我面临类似的iframe问题,并通过iOS的WebView跨域访问。问题在于导致问题的Cookie验收。

问题是Cookie的安全策略(HTTPCookieAcceptPolicy)为UIWebView的,而此前默认为NSHTTPCookieAcceptPolicyAlways。

但是从iOS的7,它得到了默认为NSHTTPCookieAcceptPolicyOnlyFromMainDocumentDomain,打破我的应用程序。

你问题看起来不一样,但可能是在类似的线路上。

相关问题