怎样在iOS Safari内开发类似Native App的WebApp

移动开发 移动应用
本文作者将向您展开讲讲如何在iOS中的Safari内开发出一款类似native app一样的全屏WebApp,今天我们讲的是iOS,当然聊点新的media query 技术,看招!

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

1.在meta中取消电话邮箱的识别。

  1. <meta name="apple-touch-fullscreen" content="yes">  

2.据说是全屏,但是实际ios7.1无效果,查看了百度的大网站的web站点,都已经移除。

3.现在开始讲我们要用到核心的东西。

3.1首先说的是

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

这是让我们添加应用之后,在桌面打开图标的时候可以全屏显示,但是上面的顶部工具栏上会一块黑色区域。如何解决?

3.2

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

black-translucent的作用是顶部工具栏,背景透明,字体颜色为白色,当让也有black和white选项,百度是设置为white,我测试中会发现其顶部还是一块黑色,和难看,我测试的版本是iPhone ios7.1版本。

3.3当然上面这些操作可能不是每个人都会去保存下来去做的,如果保存,请记得使用html5的缓冲技术,这个下次再扯,还有保存中用到的图片呢?

  1. <link rel="apple-touch-icon-precomposed" href="http://wap.baidu.com/static/img/webapp/img/icon_114.png"> 

如果你想做的更加适配性大,可以添加size=“114*114”这样,这里大家要注意我用的是

  1. apple-touch-icon-precomposed 

不是

  1. apple-touch-icon 

就是的ios7.0之前生成的icon会自己带有一个阴影,所以请注意。 

3.4,那用户***次游览这个网页(web app)中如何做的跟个native app类似呢?

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

前面部分是对屏幕大小的控制,最主要的是后面

  1. minimal-ui 

还有,切记,不要分开content的内容,多个meta使用,会有点小问题,读者自己可以测试。

 

4.接下来我们聊得是media query技术,很多同学做适配的使用用到比如

  1. <link rel="stylesheet" media="screen and (orientation:portrait) and (min-width:960px)" href="style.css" /> 

对于这个,我觉得可以看下bootstrap和appcan等做他们的解决方案,做的很成熟了。 

今天我们讲的是ios,当然聊点新的media query 技术,看招:

  1. /*中分辨率屏幕*/ 
  2. @media (-webkit-min-device-pixl-ratio: 1){ 
  3. //css代码 
  4.   
  5. /*高分辨率屏幕*/ 
  6. @media (-webkit-min-device-pixl-ratio: 1.5){ 
  7. //css代码 
  8.   
  9. /*超高分辨率屏幕(传说中的Retina屏)*/ 
  10. @media (-webkit-min-device-pixl-ratio: 2){ 
  11. //css代码 
  12. }
  1. window.devicePixelRatio是设备上物理像素和设备独立像素(device-independent pixels (dips))的比例。 
  2. 公式表示就是:window.devicePixelRatio = 物理像素 / dips 

举个例子iphone4/4s,他的宽度是320,但是他的分辨率中的宽已经是640,所以是 @media (-webkit-min-device-pixl-ratio: 2)

5.接下来是个题外话,个人看到别人写的,没有测试。

  1. <!-- uc强制竖屏 --> 
  2. <meta name="screen-orientation" content="portrait"> 
  3. <!-- QQ强制竖屏 --> 
  4. <meta name="x5-orientation" content="portrait"> 
  5. <!-- UC强制全屏 --> 
  6. <meta name="full-screen" content="yes"> 
  7. <!-- QQ强制全屏 --> 
  8. <meta name="x5-fullscreen" content="true"> 
  9. <!-- UC应用模式 --> 
  10. <meta name="browsermode" content="application"> 
  11. <!-- QQ应用模式 --> 
  12. <meta name="x5-page-mode" content="app"> 

ok,东西讲完了。

责任编辑:闫佳明 来源: gbtags
相关推荐

2013-09-04 13:43:55

WebAppNative App布局

2015-08-06 09:49:25

WebAppNative App

2013-05-28 17:14:01

iOS开发移动应用移动开发

2018-05-13 16:00:22

主播APP视频

2013-12-16 15:07:59

NativeHybrid开发移动

2015-06-11 09:52:40

iOS 9苹果WWDC

2014-07-03 16:35:38

WebApp开发技巧总结

2016-11-09 12:18:00

ui动画javascript

2014-06-13 10:55:15

移动WebApp开发

2012-04-04 11:36:40

iOS

2018-06-26 10:25:53

iOS应用系统

2018-01-29 14:01:17

htmljavascriptApp

2015-10-26 11:53:36

OpenStackOpenStack部署RDO

2021-08-13 07:56:11

App移动应用

2014-12-18 13:40:16

Web AppHybrid AppNative App

2016-11-16 15:14:15

移动办公APP软件开发

2013-09-04 14:25:30

webkitwebApp开发

2013-09-04 09:35:54

移动端Web App开发

2019-08-19 08:14:52

深度链接iOSAndroid

2020-12-17 11:11:56

iOS 14轻APP苹果
点赞
收藏

51CTO技术栈公众号