android h5 有广告,那些H5在Android上显示的丧心病狂的坑

首先得强调一下,H5和移动设备的交互遇到的问题真的是各种丧心病狂!!但是本主依然还是耐着极大的兴致(无奈)的做了下去。

H5页面在Android或者IOS上运行出现问题(这里的运行指的是h5的页面运行在App里的webview里),测试人员或者上级领导那是直接剑指前端人员,那是各种嘶声力竭的吐槽和追问。啊!为什么会有这些问题!你看你写的真是水!!前端人员一脸憋屈,有苦难言,一口老血闷在心中。H5页面在移动设备上显示出现问题那问题都是前端人员吗?其实,并不全是!

e8fe3af63ee7a4cc2dcee4895d183c6c.png

坑1:本主最近在使用Chart.js,这个图表框架用起来确实有些方便,但是并不能说它就完美了。虽然说在IOS设备上跑这个是没有问题,但是天朝人口太多,并不是人手一部iPhone的。在这个Android泛滥,每个Android手机的Android系统一样又不太一样的时代,Chart.js就被坑了,在Samsung Galaxy S4上Chart.js就异常卡顿。这是不是H5的问题呢?只能靠H5优化?不全是!

Solution:Android的WebView做此设置可提高速度,webview硬件加速。

WebView.setLayerType(View.LAYER_TYPE_SOFTWARE,null)

就是这么简单,Android一句话搞定。还让前端同学去优化一个现有的图表框架那是一件多么丧心病狂的事啊。

坑2:还是Android还是Samsung Galaxy S4,野蛮的机器强制性的把H5里table的tr的td和th们换行,本主只是想让这个数据安静的躺在同一行的,为何生生的拆散他们,让他们上下相隔不能相见

b8f15187f7bfe314b6ce28468c12a708.png

甚至出现了本来容器设置大小是600px,结果容器却变得只有容器内部字体那么高了。

29fff8cb79c8c041dda9ce08d64c1929.png

Solution:什么原因导致的呢?真的只有让前端同学去解决吗?NO!出现这个在Android的可能原因是Android的webview的settings里setLayoutAlgorithm这个方法做了不恰当的设置。该方面里的值是枚举LayoutAlgorithm, 它是一个枚举用来控制页面的布局类型,有三个值:1.NARROW_COLUMNS:可能的话使所有列的宽度不超过屏幕宽度;2.NORMAL:正常显示不做任何渲染;3.SINGLE_COLUMN:把所有内容放大webview等宽的一列中。

简单粗暴直接移除settings.setLayoutAlgorithm设个方法。

坑3:H5在Android手机,不得不说Samsung Galaxy S4,出现了移位,特别是Chart.js制作的图表发生了移位,什么意思呢?就是说我们在上下滑动一个带图表的页面的时候,饼图或者柱状图发生的更大的偏移量,直接挪到了上方的文字上。

Solution:这个还需前端人员处理了,某些手机对元素overflow的支持不是很好,就会出现移位,所以你需要设置overflow为visible或者不设置overflow就可以解决这个问题。

坑4:IOS手机上的问题,终于到IOS出问题了,IOS问题问题就比较丧心病狂了,它对position:fixed的支持不佳,所以页面的footer设置了position:fixed后,我们在滑动页面的时候footer或者其他元素会出现闪动,移位,或者消失了。

Solution:鉴于IOS对position:fixed的支持不高,我们可以换成使用position:absolute,如果要用fixed的话,则可以做次设置页面的三个部分header,section,footer都设置为position:fixed。

相信在H5和App互动日益平凡的今天,各种丧心病狂的坑肯定会有很多,欢迎大家补充。本骚年在此列举了小小的几个问题,希望能够对各位有所帮助,有不对的地方还望大神指出改正哦。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/529790.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python非贪婪匹配_Python中关于正则表达式非贪婪以及多行匹配功能详解

这篇文章主要介绍了Python正则表达式非贪婪、多行匹配功能,结合实例形式分析了Python正则表达式中非贪婪及多行匹配功能的实现方法与相关注意事项,需要的朋友可以参考下本文实例讲述了Python正则表达式非贪婪、多行匹配功能。分享给大家供大家参考,具体如下&#xf…

小米9android q测试版,基于Android Q的MIUI来了 小米9尝鲜

01基于Android Q的MIUI来了中关村在线消息:谷歌在今年五月份发布了最新的Android Q系统,虽然很多国产手机还没有升级到Android P,但是还是有不少厂家开始对旗下的手机升级到最新的Android Q系统,根据小米最新的官方的消息&#xf…

ios传值给js_WKWebView JS与OC间相互传值调用

写在前面本文将介绍如何使用WKWebView进行JS与OC、OC与JS间的传值和方法调用。前置条件1、导入WebKit.framework2、声明WKWebViewJS调用OC原生方法1、前端在js文件中实现这里要注意messageHandlers后面跟着的deviceInfo要与原生的定义的一致。2、iOS 实现WKScriptMessageHandle…

android layerlist bitmap,android shape类似的 另一个 高端用法:layer-list

android shape类似的 另一个 高端用法:layer-list:简介:将多个图片或上面两种效果按照顺序层叠起来” 《?xml version"1.0" encoding"utf-8"?>《layer-listxmlns:android"http://schemas.android.com/apk/res/…

跨域会报40几_总结一下跨域的几种情况

在网站开发中,经常会遇到跨域问题,下面总结一下集中常见的跨域问题。1. 不同域名属于跨域,如:www.a.com 和www.b.com,另外www.a.com 和www.a.com.cn也属于不同域名。2. 主域名和子域名(二级域名、三级域名等)跨域&…

android将拍摄的图片存入sd卡中,Android将图片保存至SD卡上

首先判断SD卡是否插入-->public String getSDPath(){File SDdirnull;boolean sdCardExistEnvironment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED);if(sdCardExist){SDdirEnvironment.getExternalStorageDirectory();}if(SDdir!null){return S…

nedc和epa续航里程什么意思_400公里已成续航新起点,纯电动车的实用性到底怎样...

对于购买纯电动汽车的用户来说,续航里程是非常重要的参考因素,毕竟如果续航里程太短,实用性将会大打折扣,跑个长途都心惊胆战的,生怕路上遇到堵车了、没电了、中途没有加油站之类的。就算是不考虑长途,市区…

android广播示例,android接受开机广播事件

【实例简介】【实例截图】【核心代码】package com.yin.servicetest;import com.yin.service.MyService;import android.app.ActivityManager;import android.app.ActivityManager.RunningServiceInfo;import android.content.BroadcastReceiver;import android.content.Contex…

java class类_关于创建java中的class类的对象的方法

1.由于Class类没有公共构造方法,所有创建Class的对象的方法有以下几种:①通过Class.forName()静态方法返回Class类的一个实例Class cls Class.forName("test.dog - 这个网站可出售。 - 最佳的test 来源和相关信息。");②通过类名.class来获取…

android remote shell,关于 Appium V1.7.2 新增的唯一安卓可执行 mobile 命令 shell 的疑问...

关于 mobile: shell 在更新日志中说明,是从 1.7.1 升级到 1.7.2 中 “Add --relaxed-security, and mobile: shell access to adb”,并搜索 github 中 appium 库,找到需要配置 desiredcapabilities 中 relaxedSecurityEnabled 为 true&#x…

linux 正则查找email_Hello Iris简易微博类App开发教程3-查找用户和用户登录

用户邮箱地址有效性验证在上一节中,我们编写了用于用户注册的代码。但是当时并没有为用户的Email添加有效性验证,导致Email被设置为任何字符串都能注册成功。所以在本节初,我们首先来为Email添加一个有效性验证。首先还是来编写测试数据&…

pyqt生成 android,PyQt on Android

问题Im working on PyQt now, and I have to create the application on Android, Ive seen the kivy library, but its too crude.Is there any way now to run an application on Android made on PyQt?回答1:Android does not support pyQt4. PyQt5 is however supported(r…

原生的html组件,如何创建HTML5与原生UI组件混合的移动应用程序

本文将介绍如何使用Trigger.io创建原生的顶部栏、标签栏、以及HTML/CSS/JavaScript的混合型移动应用程序。以后我们将添加更多的原生UI组件到Trigger.io,但现在你只需要使用web技术就可以在IOS和Android上创建漂亮而流畅的移动应用。这是一个简单的菜谱应用程序的屏…

c语言不会可以学好java吗_有人说学了C语言,两天就能学会Java,两个星期就可以找工作?...

作为一个过来人来说,编程如果真的那么简单就不会导致现在各大公司还喊着招不到人的情况了,虽然编程领域里面有触类旁通的说法,但这个说法只是针对于对于一种编程已经掌握到一定程度了,不是简单的学过或者做过就可以轻松的转向别的…

html 正则表达式验证金额,js金额校验,js正则表达式,包含正负,小数点后两位...

js金额校验,js正则表达式,包含正负,小数点后两位,js代码如下:function isMoney(s) {//金额 只允许正数//var exp /(^[1-9]([0-9])?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/;//金额 允许正()负数//…

苹果app商品定价_【知乎问答】苹果 App Store 新推出的 1 元或 3 元定价对开发者有什么影响?...

徐小懒:我的游戏今年 10 月 1 日上线,定价 6 元。上线后,排名起起落落,总的来说一直在爬升。截止到 19 号之前,爬到总榜前 20(未刷榜),最多一天 300 个下载,累计下载 3500。19 号改成 1 元后,当…

sublime默认html,Sublime Text默认HTML评论

似乎对安装包装或拆卸包装有点隐蔽,因此需要进行一些调查才能解决问题。对于后台,用于注释(单行或块)的字符或字符的设置信息由tmPreferences类型的文件提供(不是tmLanguage,如在{您在问题的评论中链接到的教程)。文件的名称及其包含的包无关…

笔记本连接显示器后没有声音_电脑用HDMI外界显示器后,没有声音

本人使用Y450, 总感觉屏幕小, 现有PHILIPS 202E, 但是笨笨VGA坏了(真是悲催啊, 但是我强悍小Y跟我也有4~5个年头了, 可以理解) 所以买了HDMI赚VGA, 接上显示器后显示非常棒, 很爽, 绝对高清. 但是唯一的缺点就是接上HDMI后笨笨就没声音, 而且我的飞利浦又没有音频输出. 悲催了…

html文本域 高度自适应,textarea高度自适应,textarea随着内容高度变化

有时候我们需要textarea的高度随着内容的多少去自适应的变化,今天我使用了JS原生和JQ写了一个textarea的高度随着他的内容高度变化的代码,希望能帮上忙。废话不多说直接贴代码:textarea{ width:500px; margin:20px auto; padding:0; font-siz…

layer 线上_LAYER

SHIPPING TO : 가나(GHANA)SHIPPING TO : 가봉(GABON)SHIPPING TO : 가이아나(GUYANA)SHIPPING TO : 감비아(GAMBIA)SHIPPING TO : 과테말라(GUATEMALA)SHIPPING TO : 그레나다(GRENADA)SHIPPING TO : 그루지야(GEORGIA)SHIPPING TO : 그리스(GREECE)SHIPPING TO : 기니(GUINEA…