IOS上iframe的滾動條失效的解決辦法
問題描述:
iframe設(shè)置了高度(例如500px)。倘若iframe的內(nèi)容足夠長超出了iframe設(shè)定的高度時,在ipad等設(shè)備上。iframe內(nèi)部html的滾動條不出現(xiàn)。并且活生生的從500px處截斷,(類似overflow:hidden的效果)下面的內(nèi)容不再顯示。
問題重現(xiàn):
結(jié)構(gòu):
index.html :
<style>
#iframe{height:500px;}
</style>
<div id="content">
<iframe frameborder="0" src="iframe.html" id="iframe"></iframe>
</div>
iframe.html:
<!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="utf-8" /> <title>IOS frame 滾動條 demo</title> </head> <body><div class="container"> 我是一堆很長。很長,很高,很高的內(nèi)容。 </div> <script src="../jquery.js"></script> </body> </html>
問題原因:
在IOS設(shè)備中,iframe內(nèi)部的html的滾動條無法生效。
---------------------------------------
解決辦法:
把iframe中body里的內(nèi)容全部包裹一層,然后設(shè)置包裹這一層的height,使用屬性-webkit-overflow-scrolling:touch;overflow:auto;
代碼如下:
iframe.html
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="utf-8" />
<title>IOS frame 滾動條 demo</title>
</head>
<body>
<style>
#wrapper{height:500px;-webkit-overflow-scrolling:touch;overflow:auto;}
</style>
<div class="container">
我是一堆很長。很長,很高,很高的內(nèi)容。
</div>
<script src="../jquery.js"></script>
<script>
var UA = navigator.userAgent;
var forIOS = function(){
if(!UA.match(/iPad/) && !UA.match(/iPhone/) && !UA.match(/iPod/)){return;}
if($('#wrapper').length){return;}
$('body').children().not('script').wrapAll('<div id="wrapper"></div>');
}();
</script>
</body>
</html>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- iOS應(yīng)用開發(fā)中UIScrollView滾動視圖的基本用法總結(jié)
- iOS實現(xiàn)滾動字幕的動畫特效
- IOS中UITableView滾動到指定位置
- iOS ScrollView嵌套tableView聯(lián)動滾動的思路與最佳實踐
- IOS 的彈性滾動解決方案
- iOS使用UICollectionView實現(xiàn)橫向滾動照片效果
- ios之UIScrollerView滾動視圖總結(jié)
- iOS Swift UICollectionView橫向分頁滾動,cell左右排版問題詳解
- 在IOS系統(tǒng)上滾動條滾動到指定的位置出現(xiàn)空白頁面的解決方案
- iOS實現(xiàn)循環(huán)滾動公告欄
相關(guān)文章
IOS UI學(xué)習(xí)教程之使用UIImageView控件制作動畫
這篇文章主要為大家詳細介紹了IOS UI學(xué)習(xí)教程之使用UIImageView控件制作動畫,感興趣的小伙伴們可以參考一下2016-03-03

