Monday, July 24, 2017

iFrames not loading on mobile or tablet

Leave a Comment

I haven't been able to find an answer that works. I have an iframe (yes, I have to use an iframe on this occasion) that works fine on PC, but won't load on mobile or tablet at all.

There is some Javascript on the page but removing it doesn't fix the problem. I have also tried changing the iframe height and width from percentages to fixed values. I have also tried removing all attributes from the iframe other than src and it still doesn't load anything in the iframe.

Below is a simplified version of my page, using what I have been able to find from other suggestions.

<!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> 

Can anyone tell me why it isn't working on mobile? Thanks

UPDATE: Clearing the browser cache on tablet fixed it for that, but doing the same on mobile didn't do anything. I also tried using my friend's iPhone (they have never visited the site before) and it didn't load.

The URL I am trying to display in the iframe works in iframes on demo sites like w3schools on my mobile so it's not an x-frame options or browser not allowing any iframes problem (though the x-frame options would stop it working on all devices, but I've checked everything I can think of)

I can provide a live example URL via message if required.

1 Answers

Answers 1

I faced a similar issue with iframe and cross-domain access over WebView of iOS. The problem was with Cookie Acceptance which was causing issues.

The problem was the Cookie Security policy (HTTPCookieAcceptPolicy) for UIWebView, which previously defaulted to NSHTTPCookieAcceptPolicyAlways.

But from iOS 7, it got defaulted to NSHTTPCookieAcceptPolicyOnlyFromMainDocumentDomain, breaking my app.

You problem does not look to be same, but might be on the similar lines.

If You Enjoyed This, Take 5 Seconds To Share It

0 comments:

Post a Comment