文档章节

iphone 如何实现html5页面,自动提示添加到主屏幕

阿琳
 阿琳
发布于 2014/06/26 15:16
字数 788
阅读 1.2K
收藏 8

#程序员薪资揭榜#你做程序员几年了?月薪多少?发量还在么?>>>

虽然没有能力开发Native App,但还是可以利用iOS中Safari浏览器的特性小小的折腾一下,做一个伪Web App满足下小小的虚荣心的。


既然是在iOS中的Safari折腾的,那么代码中利用到的也基本上都是Safari的私有属性。


添加图标到主屏幕是Web App的第一步:


<link rel="apple-touch-icon-precomposed" sizes="57x57" href="icon-57.png">

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

<link rel="apple-touch-icon-precomposed" sizes="114x114" href="icon-114.png">

<link rel="apple-touch-icon-precomposed" sizes="144x144" href="icon-144.png">


添加图标到屏幕里的有两种属性值apple-touch-icon和apple-touch-icon-precomposed,区别就在于是否会应用iOS中自动给图标添加的那层高光。


由于iPhone以及iPad都有两种分辨率的设备存在,图标的尺寸就需要做4个:144×144(iPad Retina)、72×72(iPad)、114×114(iPhone Retina)、57×57(iPhone)。


可以使用sizes尺寸来告诉设备该调用哪个图标。


有了图标还不够像,还需要加上启动画面:


<link rel="apple-touch-startup-image" sizes="2048x1496" href="icon-2048x1496.png" media="screen and (min-device-width:481px) and (max-device-width:1024px) and (orientation:landscape) and (-webkit-min-device-pixel-ratio: 2)">

<link rel="apple-touch-startup-image" sizes="1536x2008" href="icon-1536x2008.png" media="screen and (min-device-width:481px) and (max-device-width:1024px) and (orientation:portrait) and (-webkit-min-device-pixel-ratio: 2)">

<link rel="apple-touch-startup-image" sizes="640x920" href="icon-640x920.png" media="screen and (max-device-width: 480px) and (-webkit-min-device-pixel-ratio: 2)">

<link rel="apple-touch-startup-image" sizes="320x460" href="icon-320x460.png" media="screen and (max-device-width: 320)">


apple-touch-startup-image是用来标示启动画面的,但它不像apple-touch-icon可以指定sizes来告诉设备该使用哪个图片(也有一种说法是在iOS5中已经支持sizes识别了,但没有测试成功),所以只能通过media里的设备分辨率的判断值来识别,而iPhone Retina的分辨率值界于取值之间,所以需要通过webkit的私有属性-webkit-min-device-pixel-ratio:2来鉴别像素密度以进行识别。


启动画面的图片尺寸并非完全等于设备的尺寸,比如iPad2的尺寸是1024×768,但它的启动画面尺寸横向是1024×748,竖向尺寸是768×1004,因为需要减去系统状栏的高度20px,而使用的Retina屏幕的iPhone4以及iPad3则需要减去状态栏的高度40px。


Web App运行起来要像Native App,那么就要去掉Safari的一些默认控件,比如地址栏、状态栏之类的。


<meta name="apple-mobile-web-app-capable" content="yes">

<meta name="apple-mobile-web-app-status-bar-style" content="black">

<meta name="format-detection" content="telephone=no">

<meta name="viewport" content="width=device-width,initial-scale=1, minimum-scale=1.0, maximum-scale=1, user-scalable=no">


apple-mobile-web-app-capable是用来定义应用全屏展示的;在定义了apple-mobile-web-app-capable的前提下,设置状态栏的属性值apple-mobile-web-app-status-bar-style才有效;format-detection的值用于启用或禁用自动检测在网页中可能出现的电话号码;


viewport并非Safari的私有属性,width用于指定宽度,initial-scale指定初始化的缩略比例,minimum-scale指定缩小的比例,而maximum-scale则是放大的比例,当然这些缩放都取决于user-scalable——决定用户是否能缩放页面。


本文转载自:http://hi.baidu.com/mengzhiyin007/item/2e86032baef9c8cfa4275a60

阿琳
粉丝 1
博文 7
码字总数 1163
作品 0
广州
私信 提问
加载中

评论(0)

HTML5实践 -- 使用CSS3 Media Queries实现响应式设计

  转载请注明原创地址:http://www.cnblogs.com/softlover/archive/2012/11/21/2781388.html   现在屏幕分辨率的范围很大,从 320px (iPhone) 到 2560px (大型显示器),甚至更大。用户也...

下一站永远
2012/11/28
0
0
前端读者 | Web App开发入门

本文来自互联网 自Iphone和Android这两个牛逼的手机操作系统发布以来,在互联网界从此就多了一个新的名词 - Web App(意为基于WEB形式的应用程序)。业界关于Web App与Native App的争论已有一段...

osc_vjzmcb03
2018/12/11
4
0
微信公众平台开发:进阶篇(Web App开发入门)

WebApp与Native App有何区别呢? Native App: 1、开发成本非常大。一般使用的开发语言为JAVA、C++、Objective-C。 2、更新体验较差、同时也比较麻烦。每一次发布新的版本,都需要做版本打包...

LorinLuo
2015/03/06
325
0
WebApp与Native App的区别

WebApp与Native App的区别 Native App: 1、开发成本非常大。一般使用的开发语言为JAVA、C++、Objective-C。 2、更新体验较差、同时也比较麻烦。每一次发布新的版本,都需要做版本打包,且需...

一真的鱼
2018/07/03
122
1
8个超棒的HTML5网站设计欣赏

日期:2012-3-22 来源:GBin1.com 我们听到了很多关于HTML5的新闻和技术动向,一个又一个的新的东西不停的出现,那么最近HTML5的技术应用又如何呢?HTML5又和CSS及 其Javascript如何一起改变...

gbin1
2012/03/27
1.6W
1

没有更多内容

加载失败,请刷新页面

加载更多

如何限制利用spring boot 框架自动限制上传文件

spring:   application:     name: appname   servlet:     multipart:       enabled: true       max-file-size: 512MB       max-request-size: 512MB @Ex...

osc_31d5oo2i
7分钟前
7
0
NATAPP1分钟快速新手图文教程(远程办公程序员联调神器)

NATAPP官方地址:https://natapp.cn/ 应用场景:前后端异地联调、系统演示、远程临时访问 首先在本站注册账号 点击注册 登录后,点击左边 购买隧道,免费/付费均可 根据需要选择隧道协议,这里以...

明德先生
8分钟前
6
0
李子柒的视频为什么这么吸引人?对她在B站上发布的视频进行分析

前言 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。 作者:CDA数据分析师 加企鹅群695185429即可免费获取,资料全...

osc_tc2z9lbh
8分钟前
9
0
MySQL如何有效的存储IP地址

前几天,阿淼的一个朋友去面试,他回来告诉我,面试官问他 IP 地址是怎么存在数据库的?他当时也没多想,直接就回答的存字符串啊(心想:这么简单的问题,怕不是看不起我吧) 前面这段权当看...

osc_q5m9dzk0
10分钟前
18
0
一口气说出8种幂等性解决重复提交的方案,面试官懵了!

1.什么是幂等 在我们编程中常见幂等 1)select查询天然幂等 2)delete删除也是幂等,删除同一个多次效果一样 3)update直接更新某个值的,幂等 4)update更新累加操作的,非幂等 5)insert非幂等操作...

osc_kd8rd7b3
11分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部