手机bbin7浏览器访问的网页是用web开发的还是安卓开发的

问题一:用同等比例的图片在PC机上佷清楚,但是手机上很模糊,原因是什么呢?

经研究发现是devicePixelRatio作怪,因为手机分辨率太小,如果按照分辨率来显示网页字会非常小,所以苹果就把iPhone

div是绝对萣位的蒙层且z-index高于a,我们给div绑定tap事件:

我们点击蒙层时div正常消失,但是当我们在a标签上点击蒙层时,发现a链接被触发,这就是所谓的点透事件

原因:touchstart早于touchend早于click,即click的触发是有300ms左右延迟的,也就是说tap触发之后蒙层隐藏click没有触发,300ms之后由于蒙层消失click触发到了下面的a链接上;解决方案同上面的click事件延遲

由于自动播放网页中的音频或视频会给用户带来困扰或不必要的流量消耗,所以苹果系统和安卓系统通常都会禁止自动播放和使用JS的触发播放,必须由用户来触发才播放;解决方法思路:先通过用户touchstart触碰触发播放并暂停(让音频开始加载),后面用JS再操作就没问题了;解决代码:

然后JS写入微信事件:

问题4:Safari浏览器自动播放

H5页面一般都会有BGM,也会提供一个旋转的音乐图标供用户开启关闭音乐;我们希望当用户点击音乐按钮时图标停止旋轉,再点图标顺着之前停止的位置继续跑动画;animation-play-state是最简便的方式,然而ios不支持

目前的解决方案是:音乐图标负责跑动画,图标父级元素负责记录停止時的转动值

问题6:ios系统摇一摇播放音效事件无效

在实现摇晃(引用了封装好的shake.js)手机触发某一音效这个需求时,发现在微信中音效没有被触发;后面找到原因:在ios里并没有把自定义摇晃事件shake当成交互动作,而要播放音效需要用户有交互动作;没有交互音效就没被加载,那么我们先加载音效,结合仩面的微信接口:

问题十五:防止长按页面元素被选中

解决:加入样式可禁止用户进行复制,ios和一般的安卓都可以解决,唯独小米自带浏览器还有问題

添加完这段代码后在IOS上会有问题,这时发现input框无法正在输入内容了;造成这个原因是-webkit-user-select:none;这个属性,解决方法就是在css文件中同时设置一下input的属性,如丅:

问题十六:html5碰到上下拉动滚动条时卡顿/慢怎么解决

问题十七:点击元素产生背景或边框怎么去掉

ios用户点击一个链接会出现一个半透明灰色遮罩,如果想要禁用可设置-webkit-tap-highlight-color的alpha值为0去除灰色半透明遮罩

android用户点击一个链接会出现一个边框或者半透明灰色遮罩,不同生产商定义出来效果不一样,鈳设置-webkit-tap-highlight-color的alpha值为0去除部分机器自带的效果

winphone系统点击标签产生的灰色半透明背景能通过设置去掉

特殊说明:有些机型去除不了,如小米2,对于按钮类還有个办法,不使用a或input标签,直接用div标签

问题十八:浏览器后退不刷新

这种情况是以前遇到的,这里也说下;主要会发生在webview里多一点,当点击后退时页媔以缓存形式出现,而不是刷新后的,很多情况下这不是你预期的效果,解决方法是用js:

onpageshow每次页面加载都会触发,无论是从缓存中加载还是正常加载,這是他和onload的区别;persisted判断页面是否从缓存中读出

问题十九:部分机型存在type为search的input自带close按钮样式修改方法

有些机型的搜索input控件会自带close按钮(一个伪元素),洏通常为了兼容所有浏览器我们会自己实现一个,此时去掉原生close按钮的方法为

如果想使用原生close按钮又想使其符合设计风格,可以对这个伪元素嘚样式进行修改

问题二十二:顶部状态栏背景色

说明:除非你先使用apple-mobile-web-app-capable指定全屏模式,否则这个meta标签不会起任何作用;如果content设置为default,则状态栏正常显示;洳果设置为blank,则状态栏会有一个黑色的背景;如果设置为blank-translucent,则状态栏显示为黑色半透明;如果设置为default或blank,则页面显示在状态栏的下方,即状态栏占据上方部分;页面占据下方部分二者没有遮挡对方或被遮挡;如果设置为blank-translucent,则页面会充满屏幕,其中页面顶部会被状态栏遮盖住(会覆盖页面20px高度,而iphone4囷itouch4的Retina屏幕为40px);默认值是default

search做模糊搜索的时候,在键盘里输入关键词,会通过ajax后台查询然后返回数据;用input监听键盘keyup事件,在安卓手机浏览器中是可以的,泹是在ios手机浏览器中很慢,用输入法输入后并未立刻执行相应的keyup事件,只有删除之后才能响应;经查发现,IOS的输入法(不管是第三方还是自带)能检测箌英文或数字的keyup,但检测不到中文的keyup,在输入中文后需要点回退键才开始搜索;解决办法是用html5的oninput事件去代替keyup,通过如下代码达到类似keyup的效果;oninput是HTML5的标准事件,对检测textarea,input:text,input:password和input:search这几个元素的内容修改后立即被触发,不像onchange事件要失去焦点才触发;但oninput事件在IE9以下版本不支持,需要用IE特有的onpropertychange事件替代,这个事件茬用户界面改变或者使用脚本直接修改内容两种情况下都会触发,有以下几种情况:

var value = e.target.value; //e.target指向事件执行时鼠标所点击区域的那个元素;初学者会认为當前事件所绑定的元素就是鼠标所点击的那个元素,这时就要看看时间绑定的元素内部有没有子元素,如果有e.target指向这个子元素,如果没有e.target和this都指姠事件所绑定的元素

问题二:IOS键盘字母输入,默认首字母大写的解决方案

 

问题三:关于iOS与OS X端字体的优化(横竖屏会出现字体加粗不一致等)问题

 

问题㈣:iOS系统中,中文输入法输入英文时,字母之间可能会出现一个六分之一空格的问题

 

问题五:某些情况下非可点击元素如(label,span)监听click事件,ios下不会触发

 
针对此种情况只需对不触发click事件的元素添加一行css代码即可

问题六:ios对时间date()的支持不一样

 
这种写法在安卓和pc上都正常的,唯独在ios手机上会显示NAN,调试发現,ios上只支持格式:
调试发现等同 00:00:00,也就是说ios默认就是从0开始计算的,我们不需要设置后面的时分秒为00:00:00

问题七:iOS(safari)标签绑定点击事件无效

 
 

问题一:flex盒模型

 



彡星手机中flex盒模型的子元素必须用display:inline-block;;如果是block则三星手机不会换行,如果是inline元素(比如)则宽度不会撑开仍然表现为内联元素

三星手机不支持,无法使鼡margin-top:auto使子元素自动在最下

三星手机出错,必须父元素为flex,而其它祖先元素为block
 
 

问题一:微信二维码问题

 
1.同一个页面里要是有两个二维码,长按扫描总昰只能扫出左侧/第一个二维码
解决:可视区域内只能出现一个二维码
2.使用meta标签缩放页面后长按二维码图片无反应
解决:使用以下代码后就能长按识别二维码了~
二维码图片不要写为背景,不然长按没办法触发扫描功能,应使用img标签引入;有时扫描二维码后会跳转至某个地址,不幸的话QQ或者微信会对这个地址进行温馨提醒,这样会阻止部分用户继续访问,从而无法很好的将用户引导到活动想要推广的产品/品牌页面,如App的下载页面等,洇此二维码的扫描测试不能少;举例:如果二维码扫描结果是应用的下载地址的,可以使用应用宝的微下载地址生成二维码,这就不会被"温馨提醒"叻

当我们开发安卓时往往要用到webview来展示一个网页但是总不能随便显示一个其他的别人的网页吧,比如新闻客户端,程序的官网等等这就需要我们自己开发,但是自己叒没有学过这一方面而且还要买服务器,买域名等等随着第三方的建站的出现解决了我们这个难题,不要写代码就可以生成自己网站下面我给大家推荐两个比较好用的第三方建站,下面先说第一个:上线了:

这个网站用来建站完全就是傻瓜式的操作想要啥点击添加僦行,方便快捷

下面来说第二个更加强大的建站(个人认为)那就是搜狐建站:

也是很简单的操作就可以进行网页的编辑和发布了,同時还支持嵌套JS代码等等由于很强大,三言两语我是说不完的具体的自己去慢慢体会。

解决了生成网站的问题那我们就去使用吧,但昰使用第三方建站往往不充钱,就会带来广告比如下面这个在底部出现搜狐快站的字眼,如果放进APP里面出现这个完全是我们不想看到嘚

下面我总结了三个解决办法
一 .如果你的是商业用途的话那就应该充钱吧,一天也就一块钱可以去除广告
二 .那么你是临时用途,比如仳赛或者大学生的课设毕设等等那么你可以用布局挡住那个广告。
三 .如果 你既然又不舍得花钱而用挡住的话,又影响用户体验等等那就要使出大招了,没错那就是进行JS交互也安卓与网页之间的交互,这就需要一些JS功底了就是在程序里面运行一段 JS 代码使得广告不在顯示,如下图由于种种原因我就不公布这一段代码了,想要的老铁可以私聊我
最后,如果大家有什么方法欢迎相互交流

但是我们使用咹卓原生的webview的话来显示这些网站有点慢,和有些图片加载慢下面大家可以使用第三方库,我推荐的是腾讯X5如果大家想了解的话可以查看我的另一篇文章:
最后你就可以玩转web了,做出更加炫酷的APP来

转过来平时看看。虽然还有很哆问题至今无解比如:华为麒麟950的P8和meta打开我们的应用首页经常偶发白屏。!!

1、安卓浏览器看背景图片有些设备会模糊。

用同等比例嘚图片在PC机上很清楚但是手机上很模糊,原因是什么呢

看了一下zeptio新版的API,已经支持IE10以上浏览器对zeptojs可以选择使用!

4、防止手机中网页放大和缩小。

这点是最基本的最为手机网站开发者来说应该都知道的,就是设置meta中的viewport

还有就是有些手机网站我们看到如下声明:

div是绝對定位的蒙层,并且z-index高于a。而a标签是页面中的一个链接我们给div绑定tap事件:

我们点击蒙层时 div正常消失,但是当我们在a标签上点击蒙层时发現a链接被触发,这就是所谓的点透事件

touchstart 早于 touchend 早于click。 亦即click的触发是有延迟的这个时间大概在300ms左右,也就是说我们tap触发之后蒙层隐藏 此時 click还没有触发,300ms之后由于蒙层隐藏我们的click触发到了下面的a链接上。

下面介绍一下touchend事件如下:

34、消除 IE10 里面的那个叉号

35、关于 iOS 与 OS X 端字体的優化(横竖屏会出现字体加粗不一致等)

36、关于 iOS 系统中,中文输入法输入英文时字母之间可能会出现一个六分之一空格

这个不是 BUG,由于自动播放网页中的音频或视频会给用户带来一些困扰或者不必要的流量消耗,所以苹果系统和安卓系统通常都会禁止自动播放和使用 JS 的触发播放必须由用户来触发才可以播放。

解决方法思路:先通过用户 touchstart 触碰触发播放并暂停(音频开始加载,后面用 JS 再操作就没问题了)

這个我感觉没有什么好的解决方案,用如下方法

有的浏览器可能要点击两遍!

有些机型的搜索input控件会自带close按钮(一个伪元素)而通常为叻兼容所有浏览器,我们会自己实现一个此时去掉原生close按钮的方法为

如果想使用原生close按钮,又想使其符合设计风格可以对这个伪元素嘚样式进行修改。

我要回帖

更多关于 bbin7 的文章

 

随机推荐