Android WebView坑摘要
要抓好近期iPad HybridApp至Android举,坑遇到太多。让我折腾过Android临近4在退伍军人头痛!
今天前者被列出,以满足,然后慢慢自己解决。现在,它已经解决android键盘覆盖问题。最棘手的问题就是屏幕高度的适配问题了!
本文会不断更新
1、 Andrid4.1事件穿透BUG 原因不明
2、 Android2.X 中文不支持粗体
3、 眼下发现的WEBVIEW尺寸宽度有320、 360、 400等多个尺寸
该分辨率也许和屏幕尺寸有关
眼下測试结果
320-640分辨率-》320
720分辨率 –》360
800 分辨率 –》400
难道是手机宽度的一半?
屏幕密度的的问题啊 !
。!
4、 原尺寸图片放到WEBVIEW里会显得非常模糊。建议採用大图进行缩小
比方 须要为300*100大小的图片,请使用600*200的来进行缩小
5、 ANDROID 2.X TEXTAREA|INPUT等空间可能会出现移位的情况,原因或许与position:fix有关
6、 text-overflow:ellipsis;(字符串CSS截取)功能BUG:截取长度会把margin-left一起计算进去。导致含有margin-left的容器被截取内容过多。
7、 使用translate3d的位移会导致position:fixed的内置元素一起移动。此BUG更恶心的是,在IPHONE里会直接移掉,可在ANDROID里显示不会移动,但假设有事件的话,事件的可点击区域会位移。
预计是ANDROID尝试修复没修复好。
8、 WEBVIEW内存限制12M(眼下此问题尚未出现)
9、 ANDROID2.X不支持BOX-SHADOW
10、 不支持MASK
11、 支持CALC,使用时请注意防止被LESS预编译
width:~"-webkit-calc(100% - 100px)";
margin: 0px 50px;
通过此方法能够非常easy实现浮动元素居中。而不用去计算TOP LEFT
12、android4.4 不支持target-densitydpi=device-dpi。Android4.3 下面版本号支持。后面开发不能用这个target-densitydpi了
13、键盘弹出问题,Android软键盘会总是覆盖在Webview上。会遮挡输入框。让用户看不到输入的是什么。解决方法是键盘弹出时native层发出事件,javascript负责把页面上拉。IOS7.1键盘弹出的处理非常好,页面会自己主动上拉
14、获取web页面的宽带和高度
。就是屏幕的宽度和高度。
能够用screen.width和screen.height。 但实际測试发现有的设备会考虑屏幕密度,有的不考虑,比方有1280*720的手机用screen取得1280*720的分辨率。但实际相应的css分辨率仅仅要640*360
outerWidth谷歌官方不推荐用
var screenW = window.outerWidth ;
var screenH = window.outerHeight; $("#msg").text("width:"+screenW+";height:"+screenH+";");
window.outerHeight在android上获取的还不是真正的屏幕分辨率高度。比方480×800的高度在海豚浏览器上获取的高度是762.宽度是480。在webkit的内置浏览器上也是这个值。
说明跟浏览器无关。
而这个差值可能是浏览器工具栏的高度。
由于若开启了海豚浏览器的底部工具栏。
这个高度值就变成了697.
而在ipad2 上获取到的是768×1024.
版权声明:本文博客原创文章,转载请保留源http://blog.csdn.net/offbye
Android WebView坑摘要的更多相关文章
- Android爬坑之旅:软键盘挡住输入框问题的终极解决方案
前言 开发做得久了,总免不了会遇到各种坑.而在Android开发的路上,『软键盘挡住了输入框』这个坑,可谓是一个旷日持久的巨坑--来来来,我们慢慢看. 入门篇 Base 最基本的情况,如图所示:在页面 ...
- android webview 漏洞背后的节操
by superhei 2013/09/06 [注:本文提到的都是我个人的观点,该行为也是私人行为,与任何组织.公司无关.另:水军请自重!] 一.前言 这两天,一个2+年前的android web ...
- 屏蔽电信流氓广告造成的诡异的问题--Android WebView 长时间不能载入页面
发如今家里的时候用Android App里的WebView打开站点非常慢,会有十几秒甚至更长时间的卡住. 可是在电脑上打开相同的网页却非常快. 查找这个问题的过程比較曲折,记录下来. 抓取Androi ...
- Android webView包装WebAPP
前言 Android webView 兼容体验真的差到了极点!! 前一阵子,老板要讲 WebAPP 放到 Android 和 iOS 里面,而我因为以前做过安卓,所以这方面就由我来打包, 原理是很简单 ...
- webview之如何设计一个优雅健壮的Android WebView?(下)(转)
转载:https://iluhcm.com/2018/02/27/design-an-elegant-and-powerful-android-webview-part-two/ (这篇文章写得有点晚 ...
- webview之如何设计一个优雅健壮的Android WebView?(上)(转)
转接:https://iluhcm.com/2017/12/10/design-an-elegant-and-powerful-android-webview-part-one/ 前言 Android ...
- android WebView详解,常见漏洞详解和安全源码
这篇博客主要来介绍 WebView 的相关使用方法,常见的几个漏洞,开发中可能遇到的坑和最后解决相应漏洞的源码,以及针对该源码的解析. 转载请注明出处:http://blog.csdn.net/se ...
- 如何设计一个优雅健壮的Android WebView?(下)
转:如何设计一个优雅健壮的Android WebView?(下) 前言 在上文<如何设计一个优雅健壮的Android WebView?(上)>中,笔者分析了国内WebView的现状,以及在 ...
- 如何设计一个优雅健壮的Android WebView?(上)
转:如何设计一个优雅健壮的Android WebView?(上) 前言 Android应用层的开发有几大模块,其中WebView是最重要的模块之一.网上能够搜索到的WebView资料可谓寥寥,Gith ...
随机推荐
- POJ 1659 Frogs' Neighborhood
转载请注明出处:http://blog.csdn.net/a1dark 分析:切图论切的第一道题.也是图论的例题.主要用到一个Havel-Hakimi 定理 有以下两种不合理的情形: (1) 某次对剩 ...
- SQL Server,Access数据库查询易混点和C#中parameter指定参数长度的优缺点
在学校的时候就经常做一些网站,所以这次在公司实习,组长第一次给了一个企业的网站还是很快的完成了.中间并没有遇到什么大的问题,但是还是遇到了两个新手非常容易混淆的小问题,所以拿出来跟大家分享一下. 主要 ...
- hdu 1420(Prepared for New Acmer)(中国剩余定理)(降幂法)
Prepared for New Acmer Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/O ...
- ORACLE 11G没有备份文件參数文件在异机通过rman备份恢复找回被误删的数据
背景: 同事误删除线上数据.所以须要从备份中找回数据恢复. 真实屋漏偏逢连夜雨.船迟又遇打头风.前两天备份的磁盘坏块,如今仅仅有rman全备的.bak文件,没有控制文件和參数文件,所 ...
- POJ1274 The Perfect Stall【二部图最大匹配】
主题链接: id=1274">http://poj.org/problem? id=1274 题目大意: 有N头奶牛(编号1~N)和M个牛棚(编号1~M). 每头牛仅仅可产一次奶.每一 ...
- django1.7 配置demo教程(环境搭建)
近期又用到django做个简单项目,1年多没用过了有些手生,按理说没啥问题吧 以下是一个简单的环境搭建demo过程: 前提条件:准备了python2.7已经安装 1.搭建django环境下载 http ...
- Gradle构建多模块项目(转)
废话不多说,直接进入主题. 1. 创建项目 首先创建项目,名称为 test: mkdir test && cd test gradle init 这时候的项目结构如下: ➜ test ...
- iOS 7 新特性
iOS7更新了很多引人注目的功能.用户界面完全重新设计了.iOS7为开发2D,2.5D游戏引入了全新的动画系统.加强多线程,点对点连接,以及许多其他重要的功能让iOS7成为有史以来最有意义的一次发 ...
- 学习pthreads,创建和终止多线程
更CPU多线程编程,通过笔者的研究发现,,pthreads使用日趋广泛.它是螺纹POSIX标准,它定义了一组线程的创建和操作API. 配置环境见上博客文章.配置环境后,只需要加入#include &l ...
- Block学习一门:基本使用,使用block包NSURLRequest异步请求
首先,看一下下面的代码: void (^myFirstBlock)(int theOne,int theTwo) = ^(int theOne,int theTwo){ NSLog(@"== ...