Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >iOS 7 Web App的初级优化之道

iOS 7 Web App的初级优化之道

作者头像
Jeff
发布于 2018-01-19 10:04:44
发布于 2018-01-19 10:04:44
7810
举报
文章被收录于专栏:DeveWorkDeveWork

本文所涉及的内容大体上是作为《移动Web 开发中的一些前端知识收集汇总》的扩展,但只限于iOS7 系统,建议在阅读本文之前先看看该文以及《将你的网站打造成一个iOS Web App》、《iOS / Android 移动设备中的 Touch Icons》这两篇文章。

 apple-touch-icon

最新的iOS8 系统还在测试中,而iOS 7系统出来后据说现在覆盖率已经达到了90%,鉴于iOS 7 及iOS 6 在广大果粉中的覆盖率加起来已经具有代表性了,所以在 apple-touch-icon 这个meta 标签上的尺寸设置兼容到这两个系统就好,然后考虑不同iOS 设备,下面给出了这个不错的代码:

<!-- iOS 7 iPad (retina) --> <link href="/static/images/apple-touch-icon-152x152.png" sizes="152x152" rel="apple-touch-icon">   <!-- iOS 6 iPad (retina) --> <link href="/static/images/apple-touch-icon-144x144.png" sizes="144x144" rel="apple-touch-icon">   <!-- iOS 7 iPhone (retina) --> <link href="/static/images/apple-touch-icon-120x120.png" sizes="120x120" rel="apple-touch-icon">   <!-- iOS 6 iPhone (retina) --> <link href="/static/images/apple-touch-icon-114x114.png" sizes="114x114" rel="apple-touch-icon">   <!-- iOS 7 iPad --> <link href="/static/images/apple-touch-icon-76x76.png" sizes="76x76" rel="apple-touch-icon">   <!-- iOS 6 iPad --> <link href="/static/images/apple-touch-icon-72x72.png" sizes="72x72" rel="apple-touch-icon">   <!-- iOS 6 iPhone --> <link href="/static/images/apple-touch-icon-57x57.png" sizes="57x57" rel="apple-touch-icon">

注释中已经有相关说明,这里也不妨累赘下:

  • 152x152 : retina iPads on iOS 7.
  • 144x144  :retina iPads on iOS 6.
  • 120x120  : retina iPhones & iPod touches on iOS 7.
  • 114x114 : retina iPhones & iPod touches on iOS 6.
  • 76x76  :iPads on iOS 7.
  • 72x72  :iPads on iOS 6.
  • 60x60 : iPhones & iPod touches on iOS 7(有这货?)
  • 57x57 : iPhones & iPod touches on iOS 6.

 Startup images

启动图片( Startup images )依旧考虑到系统及设备的兼容性,在老外那找到兼容性不错的代码,下次DeveMobile 与EaseMobile 主题更新就顺带更新下这几处地方。

<!-- iOS 6 & 7 iPad (retina, portrait) --> <link href="/static/images/apple-touch-startup-image-1536x2008.png" media="(device-width: 768px) and (device-height: 1024px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image">   <!-- iOS 6 & 7 iPad (retina, landscape) --> <link href="/static/images/apple-touch-startup-image-1496x2048.png" media="(device-width: 768px) and (device-height: 1024px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image">   <!-- iOS 6 iPad (portrait) --> <link href="/static/images/apple-touch-startup-image-768x1004.png" media="(device-width: 768px) and (device-height: 1024px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 1)" rel="apple-touch-startup-image">   <!-- iOS 6 iPad (landscape) --> <link href="/static/images/apple-touch-startup-image-748x1024.png" media="(device-width: 768px) and (device-height: 1024px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 1)" rel="apple-touch-startup-image">   <!-- iOS 6 & 7 iPhone 5 --> <link href="/static/images/apple-touch-startup-image-640x1096.png" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image">   <!-- iOS 6 & 7 iPhone (retina) --> <link href="/static/images/apple-touch-startup-image-640x920.png" media="(device-width: 320px) and (device-height: 480px) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image">   <!-- iOS 6 iPhone --> <link href="/static/images/apple-touch-startup-image-320x460.png" media="(device-width: 320px) and (device-height: 480px) and (-webkit-device-pixel-ratio: 1)" rel="apple-touch-startup-image">

私有的meta 属性

之前《移动Web 开发中的一些前端知识收集汇总》已经对上面的私有属性做过解析。下面针对其中几个做详细解析:

status-bar-style

statue bar,其有三个参数:default、black、black-translucent。默认值为default(白色),其他可自定义black(黑色)和black-translucent(灰色半透明)。在实际中,取何值与启动图片( Startup images )相协调。

具体不同显示效果可以参考下面的截图:

default:

black:

black-translucent:

 iOS 7.1 新添加的 minimal-ui

iOS 7 的 Safari 在浏览网页,滚动之后,会触发隐藏 location bar 和 tool bar,进去全屏幕浏览的状态。而 iOS 7.1 之后,新增了 ‘minimal-ui’ 的 meta,可让网页所有者自行配置,让用户设备打开网页之后默认进入前面说到的全屏幕浏览状态,而且也只有点击 top bar 之后才能关闭。

<meta name="viewport" content="minimal-ui">

显示如下图(图片来自这里):

Jeff 测试在ipad mini上没有效果,据说是苹果手机上才有效果。

后记

完整代码如下: 写这篇文章的时候前前后后陆陆续续花了两个月(中间因为各种事务耽搁了好长一段时间),然后这段时间后就iOS8 发布了。咳咳,估计秋季的时候iOS8 正式发布及iPhone 6 出来后,本文又过时了——日新月异。

参考文章:

http://blog.teamtreehouse.com/optimizing-mobile-web-apps-ios

http://taylor.fausak.me/2013/11/01/ios-7-web-apps/

https://gist.github.com/tfausak/2222823

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

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【MySQL基础】MySQL基础:MySQL基本操作与架构
https://blog.csdn.net/2301_80220607/category_12971838.html?spm=1001.2014.3001.5482
GG Bond1
2025/05/20
3780
【MySQL基础】MySQL基础:MySQL基本操作与架构
【MySQL基础篇】一、数据库基础知识
​ 什么意思呢,比如说我们如果用普通文件作为数据库的话,那么就会有访问控制、数据加密、完整性保护、备份和恢复、病毒和恶意软件等安全性问题的存在;或者说此时有一大批数据,比如说有几万条 IP 地址,那么如果我们想筛选出以 192 开头的 IP 地址,对于普通文件来说我们就得用编程语言去读取文件,然后再依次判断每个 IP 地址是否符合要求,这显然是有点挫!
利刃大大
2025/01/26
2770
【MySQL基础篇】一、数据库基础知识
一文搞懂MySQL体系架构!!
作者个人研发的在高并发场景下,提供的简单、稳定、可扩展的延迟消息队列框架,具有精准的定时任务和延迟队列处理功能。自开源半年多以来,已成功为十几家中小型企业提供了精准定时调度方案,经受住了生产环境的考验。为使更多童鞋受益,现给出开源框架地址:
冰河
2021/03/09
6000
MySQL的体系结构与SQL的执行流程
如果你在使用MySQL时只会写sql语句的,那么你应该看一下《MySQL优化的底层逻辑》。如果你只了解到sql是如何优化的,那么你应该通过本文了解一下Mysql的体系结构以及sql语句的执行流程。
王二蛋
2024/01/24
6644
MySQL体系架构
很多小伙伴工作很长时间了,对于MySQL的掌握程度却仅仅停留在表面的CRUD,对于MySQL深层次的原理和技术知识了解的少之又少,随着工作年限的不断增长,职场竞争力却是不断降低的。很多时候,出去面试时,被面试官吊打的现象成了家常便饭。
终有救赎
2023/11/18
2830
MySQL体系架构
美团面试官:讲清楚MySQL结构体系,立马发offer
继续和大家分享,我去上海美团面试遇到的技术问题,当时,回答的也是马马虎虎的,不能说不好,也不能说好,反正就是没有给面试官一种爽的感觉。
田维常
2021/08/06
4950
mysql体系结构
2用户名密码验证(通过授权表做的验证数据库一启动,会把授权表加载到内存中 mysql.user mysql.db mysql.table_priv mysql.column_priv)
萧晚歌
2021/11/17
1.1K0
mysql的三层体系结构
第2层sql处理层(SQL Layer):主要有SQL Interface、Parser、Optimizer、Cache和Buffer
Kami米雅
2021/12/10
1.2K0
MySQL体系结构和存储引擎是什么?
MySQL是目前最流行的关系型数据库管理系统之一,它的体系结构和存储引擎是MySQL性能和功能的重要组成部分。了解MySQL的体系结构和存储引擎,可以帮助开发人员更好地理解MySQL的工作原理,并在实际开发中优化数据库性能。
用户1289394
2023/08/22
2210
MySQL体系结构和存储引擎是什么?
MySQL 架构
MySQL 是一种开源的关系型数据库管理系统(RDBMS),广泛应用于各种应用程序中。其架构设计旨在提供高性能、可靠性和可扩展性。以下是 MySQL 的典型架构及其主要组件的详细说明:
用户11396661
2025/02/23
2610
图解MySQL的SQL语句执行全流程,看看自己的SQL语句是如何执行的
MySQL作为一种广泛使用的开源关系型数据库管理系统,其SQL语句的执行流程对于理解数据库性能优化、错误排查以及数据库设计都至关重要。
小白的大数据之旅
2025/05/16
1150
图解MySQL的SQL语句执行全流程,看看自己的SQL语句是如何执行的
MySQL - 体系结构初探
MySQL 从最初的 1.0、3.1 到后来的 5.x ,到今天的8.x,发生了各种各样的变化。
小小工匠
2021/08/17
4380
MySQL学习笔记(一)MySQL体系结构
MySQL是当今最通用的数据库软件之一,也是大部分人接触最多,时间最长的数据库软件之一。深入了解MySQL的架构和设计对于DBA,研发和运维都非常重要,能够帮助我们在日常工作中更好地理解和运用MySQL。
scarlett学习手册
2020/01/16
1.4K0
京东面试:说说MySQL的架构体系
虽然他搞java开发好几年了,也一直使用的是MySQL数据库,但是面对这个问题依然是一脸懵逼,还以为面试官要问索引、慢查询、性能优化之类的(因为这些都是网上找点面试题背过了)。
田维常
2021/01/13
3860
京东面试:说说MySQL的架构体系
mysql之存储引擎 体系结构 查询机制(二)
1,插拔式的插件方式 ,插拔式的插件方式 2,存储引擎是指定在表之上的,即一个库中的每一个表都可 ,存储引擎是指定在表之上的,即一个库中的每一个表都可以指定专用的存储引擎。 3,不管表采用什么样的存储引擎,都会在数据区,产生对应 ,不管表采用什么样的存储引擎,都会在数据区,产生对应的一个 的一个frm文件(表结构定义描述文件)
周杰伦本人
2022/10/25
8800
mysql之存储引擎 体系结构 查询机制(二)
MySQL架构
1.MySQL整体逻辑架构 我们先下图看看MySQL整体逻辑架构(MySQL’s Logical Architecture) 图1 第一层,即最上一层
小小科
2018/05/03
1.3K0
MySQL架构
第二章· MySQL体系结构管理
1)MySQL的最底层的物理结构是数据文件,也就是说,存储引擎层,打交道的文件,是数据文件。
DriverZeng
2022/09/26
3200
第二章· MySQL体系结构管理
MySQL 体系架构简介
松哥原创的 Spring Boot 视频教程已经杀青,感兴趣的小伙伴戳这里-->Spring Boot+Vue+微人事视频教程
江南一点雨
2021/07/15
8650
MySQL 体系架构简介
MySQL体系结构
连接者:不同语言的代码程序和mysql的交互(SQL交互) 1、连接池 管理、缓冲用户的连接,线程处理等需要缓存的需求 2、管理服务和工具组件 系统管理和控制工具,例如备份恢复、Mysql复制、集群等  3、sql接口 接受用户的SQL命令,并且返回用户需要查询的结果 4、查询解析器 SQL命令传递到解析器的时候会被解析器验证和解析(权限、语法结构) 5、查询优化器 SQL语句在查询之前会使用查询优化器对查询进行优化 select id,name from user where age = 40;  a、这个select 查询先根据where 语句进行选取,而不是先将表全部查询出来以后再进行age过滤  b、这个select查询先根据id和name进行属性投影,而不是将属性全部取出以后再进行过滤  c、将这两个查询条件联接起来生成最终查询结果 6、缓存 如果查询缓存有命中的查询结果,查询语句就可以直接去查询缓存中取数据 7、插入式存储引擎 存储引擎说白了就是如何管理操作数据(存储数据、如何更新、查询数据等)的一种方法。因为在关系数据库 中数据的存储是以表的形式存储的,所以存储引擎也可以称为表类型(即存储和操作此表的类型)
星哥玩云
2022/08/18
5590
MySQL体系结构
Mysql体系结构
最上层是一些客户端和链接服务,包含本地sock 通信和大多数基于客户端/服务端工具实现的类似于 TCP/IP的通信。主要完成一些类似于连接处理、授权认证、及相关的安全方案。在该层上引入了线程池的概念,为通过认证安全接入的客户端提供线程。同样在该层上可以实现基于SSL的安全链接。服务器也会为安全接入的每个客户端验证它所具有的操作权限。
Devops海洋的渔夫
2022/01/17
6520
Mysql体系结构
相关推荐
【MySQL基础】MySQL基础:MySQL基本操作与架构
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档