As mentioned in other posts, the combination of css values of overflow: auto; & -webkit-overflow-scrolling: touch;
works when applied to BOTH the iframe in question AND its parent div
With the unfortunate side-effect of double scrollbars on non-touch browsers.
The solution I used was to add these css values via javascript/jquery. Which allowed me to use a base css for all browsers
if (isSafariBrowser()){
$('#parentDivID').css('overflow', 'auto');
$('#parentDivID').css('-webkit-overflow-scrolling', 'touch');
$('#iframeID').css('overflow', 'auto');
$('#iframeID').css('-webkit-overflow-scrolling', 'touch');
}
where isSafariBrowser() is defined as foll...
var is_chrome = navigator.userAgent.indexOf('Chrome') > -1;
var is_safari = navigator.userAgent.indexOf("Safari") > -1;
function isSafariBrowser(){
if (is_safari){
if (is_chrome) // Chrome seems to have both Chrome and Safari userAgents
return false;
else
return true;
}
return false;
}
This allowed my application to work on an iPad Note 1) Not tested on other ios systems 2) Not tested this on Android browsers on tablets, may need additional changes
(so this solution may not be complete)