I found a way to do this if you own or have access to change how the page was created.
If you are managing the iframed in webpage, one of the ways I have found that works well is to surround all the content (DO NOT FIX) with the div directly on the iframed page. Therefore, immediately after the tag, you place your tag.
Then, check for Safari mobile AND if it is iframed.
browser_=/iPhone|iPad/i.test(navigator.userAgent); isInIframe = (window.location != window.parent.location) ? true : false;
If it meets these criteria, then set the height of the div that you placed on the frame page for what should be the height of the iframe, and set the div overflow to auto. This will create the illusion that it is an iframe.
Now, but not least, wrap the iframe tag in
<div style="-webkit-overflow-scrolling:touch; overflow: auto;">
If you have elements that used jQuery (window) or something like that, be sure to switch it to use the DIV because the window (iframe) automatically expands it, which is not very useful because the iframe will already be expanded.
user1470118 Oct 29 '13 at 19:48 2013-10-29 19:48
source share