前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >移动Web 开发中的一些前端知识收集汇总

移动Web 开发中的一些前端知识收集汇总

作者头像
Jeff
发布于 2018-01-19 09:45:06
发布于 2018-01-19 09:45:06
4K0
举报
文章被收录于专栏:DeveWorkDeveWork

在开发DeveMobile 与EaseMobile 主题 的时候积累了一些移动Web 开发的前端知识,本着记录总结的目的,特写这篇文章备忘一下。

要说移动Web 开发与传统的PC 端开发,感觉也没什么不同,但得益于苹果对于智能机的推动,CSS3+HTML5几乎可以毫无顾忌的使用,然后浏览器端考虑webkit内核的就差不多了。

webkit内核中一些私有的meta标签

<meta name="apple-mobile-web-app-capable" content="yes"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> <meta name="apple-mobile-web-app-status-bar-style" content="black" /> <meta name="apple-mobile-web-app-title" content="测试APP">

第一个meta标签是iphone设备中的safari私有meta标签,它表示:允许全屏模式浏览,在ios上,用户将网页添加到主屏后,再从主屏幕打开这个网页,可以隐藏浏览器的地址栏和下面的toolbar;

第二个meta标签表示:强制让文档的宽度与设备的宽度保持1:1,并且文档最大的宽度比例是1.0,且不允许用户点击屏幕放大浏览;

第三个meta标签也是iphone的私有标签,它指定的iphone中safari顶端的状态条的样式,其值有三个:default、black、black-translucent。

第四个meta标签是指在发送到屏幕的时候默认的命名。

另外还有其他一些meta标签,表示的意思直接见注释:

<meta content="telephone=no" name="format-detection" /> <!--告诉设备忽略将页面中的数字识别为电话号码--> <meta content="email=no" name="format-detection" /> <!--不让android识别邮箱-->

自定义主屏上的图标

用户添加到主屏后,如果网站没有图标,则默认主屏上的图标为当前网页的截图,你可以通过下面的代码指定在普通和retina屏幕上的icon:

<link rel="apple-touch-icon" sizes="72x72" href="apple-touch-icon.png"> <link rel="apple-touch-icon-precomposed" sizes="72x72" href="apple-touch-icon-precomposed.png">

添加初始化图片

用户点击你桌面上的webapp的图标后,打开会加载浏览器(实际上是webkit webview模块),然后下载、解析、渲染,在这个过程中,ios允许我们使用一个初始化图片来替代白色的浏览器屏幕:

<link rel="apple-touch-startup-image" sizes="320x460" href="imgs/setupImg320.png" /> <link rel="apple-touch-startup-image" sizes="640x920" href="imgs/setupImg640.png" /> <link rel="apple-touch-startup-image" sizes="640x1096" href="Images/setupImg5.png" />

你可以查看《将你的网站打造成一个iOS Web App》、《iOS / Android 移动设备中的 Touch Icons》这两篇文章了解更多。

关闭iOS中键盘自动大写、自动更正、自动完成

在iOS中,当虚拟键盘弹出时,默认情况下键盘是开启首字母大写的功能的,根据某些业务场景,可能我们需要关闭这个功能,移动版本webkit为input元素提供了autocapitalize属性,通过指定autocapitalize=”off”来关闭键盘默认首字母大写。还有的是自动更正、自动完成给你可以一并取消:

<input autocorrect=”off” autocomplete=”off” autocapitalize=”off”>

文件上传, 从相机捕获媒体

<input type="file" accept = "image/*; capture=camera" /> <input type="file" accept = "video/*; capture=camcorder" /> <input type="file" accept = "audio/*; capture=microphone" />

电话短信

<a href="sms:18888886666,18888885555″></a> 发送短信给多个人 的链接 <a href="sms:18888886666?body=sms txt"></a> 发送短信附带内容 的链接 <a href="tel:18888886666">Call us at 18888886666</a> 拨打电话的链接

移除 iOS 默认的按钮样式

在iOS 中,默认会将所有的按钮(input)强制加上一个圆角和渐变样式(IOS7的不知是怎样的了),要移除这个默认样式,用下面的代码(建议直接reset那里添加):

input{-webkit-appearance:none;outline:none;}

iOS 浏览器横屏时会重置字体大小的问题

iOS 浏览器横屏时会重置字体大小,设置 text-size-adjust 为 none 可以解决ios上的问题,但桌面版safari的字体缩放功能会失效,因此最佳方案是将 text-size-adjust 为 100% 。

-webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; text-size-adjust: 100%;

CSS3的transition 闪屏问题

使用css3动画的时尽量利用3D加速,从而使得动画变得流畅(可参考《移动Web 开发中的 Off Canvas 导航》这篇文章)。动画过程中的动画闪白可以通过backface-visibility 隐藏。

-webkit-transform-style: preserve-3d;/*设置内嵌的元素在 3D 空间如何呈现:保留 3D*/ -webkit-backface-visibility: hidden;/*(设置进行转换的元素的背面在面对用户时是否可见:隐藏)*/

其他CSS的杂项

-webkit-tap-highlight-color: transparent; /*Mobile上点击链接高亮的时候设置颜色为透明*/ -webkit-user-select: none; /*设置为无法选择文本*/ -webkit-touch-callout: none; /*长按时不触发系统的菜单(禁止ios弹出各种操作窗口), 可用在图片上加这个属性禁止下载图片*/ -webkit-overflow-scrolling: touch;/*快速滚动和回弹,模拟原生app效果*/

click 事件

ios的safari的click事件在短按屏幕时会有明显延迟(相对用户手离开屏幕那一刻大约300ms),因此建议采用 touchstart 事件。或者是说使用封装的 tap 事件来代替click 事件,所谓的 tap 事件由 touchstart 事件 + touchmove 判断 + touchend 事件封装组成。

其他js杂项

window.scrollTo(0,0); /*隐藏地址栏*/ window.matchMedia(); /*匹配媒体*/ navigator.connection; /*决定手机是否运行在WiFi/3G等网络*/ window.devicePixelRatio; /*决定屏幕分辨率(iPhone 4值为2, 而Nexus One值为1.5)*/ window.navigator.onLine; /*取得网络连接状态*/ window.navigator.standalone; /*决定iPhone是否处于全屏状态 touch事件 (iOS, Android 2.2+): touchstart, touchmove, touchend, touchcancel gesture事件 (Apple only, iOS 2+): gesturestart, gesturechange, gesturend give access to predefined gestures (rotation, scale, position)

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2014/04/25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
HTML之使用Meta标签解决常见的奇葩问题
已经好几天没有推文了,在这个五一佳节,想必各位同学玩耍的都比较愉快,本人实不忍心打扰到各位,故使这些天没有推送消息。今天是五一的最后一天,所以心想:本文应该能让各位同学提前收心,来送走这个愉快的假期,提前进入现状~
吴佳
2022/09/26
1.5K0
移动端web开发笔记
这是一个最好的时代,因为我们站在潮流中;但也是一个最坏的时代,因为我们站在潮头上。 META相关
李维亮
2021/07/09
3.9K0
移动端web开发笔记
meta标签大全(荐)
5、IOS中Safari设置保存到桌面图标: 这是IOS中Safari特有的meta,是在你保存某个页面到桌面的时候使用这张图作为桌面图标,so,尺寸和iphone上的一致,是57*57px
White feathe
2021/12/08
8280
HTML head 头标签 总结
HTML head 头部分的标签、元素有很多,涉及到浏览器对网页的渲染,SEO 等等,而各个浏览器内核以及各个国内浏览器厂商都有些自己的标签元素,这就造成了很多差异性。移动互联网时代,head 头部结构,移动端的 meta 元素,显得更为重要。了解每个标签的意义,写出满足自己需求的 head 头标签,是本文的目的。本篇以一丝的文章为基础,进行扩展总结介绍常用的 head 中各个标签、元素的意义以及使用场景。 DOCTYPE DOCTYPE(Document Type),该声明位于文档中最前面的位置,处于 h
前朝楚水
2018/04/02
2K0
将你的网站打造成一个iOS Web App
最近在做一个手机主题,据说借用类似 link href="xx.png" rel="nofollow" rel="nofollow" rel="apple-touch-icon-precomposed" /的代码在apple 设备上有很好的体验,然后就搜索到一篇文章详细讲这个的,所以就转载过来,感谢原作者JeremyWei。 2014.2.22更新:建议看完本文后再看《iOS / Android 移动设备中的 Touch Icons》一文。 前言 iOS上的一个Web App(下图中的「念」)和Native
Jeff
2018/01/19
2.2K0
将你的网站打造成一个iOS Web App
html头部meta属性大全——各种奇葩属性设置大归类
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
周陆军博客
2023/05/07
1.3K0
iOS 7 Web App的初级优化之道
本文所涉及的内容大体上是作为《移动Web 开发中的一些前端知识收集汇总》的扩展,但只限于iOS7 系统,建议在阅读本文之前先看看该文以及《将你的网站打造成一个iOS Web App》、《iOS / A
Jeff
2018/01/19
7740
iOS 7 Web App的初级优化之道
HTML5中meta属性的使用详解
meta属性在HTML中占据了很重要的位置。如:针对搜索引擎的SEO,文档的字符编码,设置刷新缓存等。虽然一些网页可能没有使用meta,但是作为正规军,我们还是有必要了解一些meta的属性,并且能够熟练使用它们。 1、声明文档使用的字符编码
业余草
2019/01/21
3K0
Web App 相关技术
上面这个 slide 资料讲的非常好,算是一个入门的介绍吧。带我们建立基本的移动 web 开发知识体系和常见问题的实践。包含以下几个方面:
零式的天空
2022/03/22
8160
移动端web开发入门笔记
本文介绍了移动端网页开发的一些基础概念,包括HTML、CSS、JavaScript,以及用于移动开发的响应式布局和自适应图片等。同时,文章还探讨了如何通过meta标签和viewport来优化移动端网页的展示效果。最后,还介绍了一些移动端网页开发中常见的问题和解决方法。
IMWeb前端团队
2017/12/29
1.9K0
移动端web开发入门笔记
iOS平台快速发布HT for Web拓扑图应用
本文介绍了iOS平台上快速发布HT for Web拓扑图应用的一种方法,通过该方法可以快速发布基于HTML5的拓扑图应用,并借助PhoneGap Build打包成原生应用。主要步骤包括:1、使用PhoneGap和HT for Web构建HTML5拓扑图;2、使用Safari浏览器打开拓扑图;3、使用PhoneGap Build打包成原生应用。该方法将原生应用的发布流程和HTML5应用的优势结合起来,既缩短了应用上线流程,又能充分发挥HTML5应用的优势。
HT for Web
2018/01/03
1.5K0
iOS平台快速发布HT for Web拓扑图应用
Design For Mobile Web
上面这段代码,源自Google的Best Practices for Web Apps,但在实际使用过程中,并不能完全适应iOS、Android平台,至于WP,我的注意力暂时还没在它身上。
libo1106
2018/08/08
7020
iOS平台快速发布HTML5拓扑应用
iOS平台一直是封闭的生态圈,iOS开发者要缴纳年费加入开发者计划才可进行iOS平台的APP开发测试,所开发的APP需要上传到App Store经过苹果审核以后才可对外发布。如果要开发企业内部应用,则要缴纳更高的费用购买企业账户才可以。       对于现在火如荼的HTML5应用,我们可以借助PhoneGap对其打包,然后像原生APP一样发布它们;或者要求用户直接通过浏览器访问。前一种方式的优点是用户体验好,用户可以像使用原生APP那样使用它们,缺点是发布很繁琐,而且要等待苹果审核。后一种方式则完全不用考
HT_hightopo
2018/07/09
8120
中高级前端必须注意的40条移动端H5坑位指南-HTML方向
不知不觉在网易已有三年半,占了一半时间都在与移动端打交道,整个阶段都是遇坑填坑的学习过程。移动端开发在前端里像神一样地存在,不是说它多难而是说它坑位实在太多了,怎样填都填不完。Android和iOS各显神通,Android的系统版本和屏幕分辨率多得难以一招兼容,iOS的顽固标准和未知特性多得难以快速掌握。
JowayYoung
2021/02/03
9920
移动端H5页面开发坑点指南
前言 在平时的H5移动端开发时,我们难免会遇到各种各样的坑点,这篇文章就带着大家来看看怎么解决,文章较长,建议收藏方便以后查阅!
Javanx
2019/10/28
3.3K0
html头部meta属性大全
常用通用属性: <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> <!--设置屏幕缩放--> <link rel="dns-prefetch" href="//www.zhoulujun.cn"> <!--设置dns缓存--> <meta name="applicable-device" content="pc,mobile"> <!--设置支持终端-
IT架构圈
2018/06/01
1.9K0
移动web开发需要注意的二十点
(现在大部分移动浏览器包括wp都支持viewport的width选项),这些meta标签在开发webapp时起到非常重要的作用,可以给用户提供更好的体验
疯狂的技术宅
2019/03/27
2.1K0
移动web开发问题和优化小结
到目前为止,互联网行业里,手机越来越智能化,移动端占有的比例越来越高,尤其实在电商,新闻,广告,游戏领域。用户要求越来越高,网站功能越来越好,效果越来越炫酷,这就要求我们产品质量越来越高,web前端开发而言是一个挑战,是一个难题,也是一个机遇。如何让我们所开发的手机页面能有更好的交互体验,就是这篇文章的主旨:移动web开发问题和优化小结。这个只是我自己在开发的时候知道的坑,如果大家有遇到什么别的坑,欢迎补充,或者觉得我哪里写错了,欢迎指点!
守候i
2018/08/22
2.1K0
移动web开发问题和优化小结
iOS8 、iPhone6 及iPhone6+:Apple touch icon 与Startup Image
本文可视为《iOS / Android 移动设备中的 Touch Icons》及《iOS 7 Web App的初级优化之道》的补充文,因为iOS8 、iPhone6 及 iPhone6+ 是最近出来的新玩意,针对他们的更新或兼容也进行了差不多了。这是我google 了一阵子的成果,不讲原理的东西,直接上结果。 Apple touch icon 来自StartOverFlow 的一个针对这两款新设备的meta 代码: <link rel="apple-touch-icon" href="touch-icon-
Jeff
2018/01/22
7460
移动Web学习笔记
1. -webkit-text-size-adjust: 100% 解释:在 Chrome 浏览器中只能设置大于或等于 12px 的字体大小,当设置了小于 12px 的字体大小时,浏览器按照 12px 的字体大小渲染字体,而设置了 -webkit-text-size-adjust 属性后浏览器可以渲染 12px 以下的字体大小
用户3880999
2023/04/13
1.2K0
相关推荐
HTML之使用Meta标签解决常见的奇葩问题
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档