怎样在ios中的Safari内开发出一款类似native app一样的全屏webapp

此文章转自我www.gbtags.com的文章。

<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,东西讲完了,附上已经修改好的样式的项目地址(请git下来,如果兴趣修改好了想push跟博主要shh秘钥):

  1. https://code.csdn.net/qazwsx2345/node_activity

怎样在ios中的Safari内开发出一款类似native app一样的全屏webapp

时间: 2024-12-25 10:23:05

怎样在ios中的Safari内开发出一款类似native app一样的全屏webapp的相关文章

ios中的safari转换时间戳问题

后台下发的时间格式如:2016-09-15 15:30:10:也没多想,直接用new Date('2016-09-15 15:30:10').getTime()获取时间戳:开发时候,电脑调试OK,当放到触屏调试的时候,AndroidOK,但是ios也不行了,结果是:NaN-NaN1-NaN Invalid Datewhat?后面了解到:ios能读取的格式是:2016/09/15 15:30:10好吧,那一写成转换时间戳的统一方法来调用: exports.exchangeTime = functi

怎么用snapman一个人在三天内开发出一个复杂的软件开发项目管理系统

snapman是一个简单而强大的团队协作软件,在上面的信息可以是数据.可以是规则.也可以是自动化代码:最重要的它是一个可以开发的协作平台,所有信息都可以作用到所有人或机器上,大大减少了工作的复杂度.软件开发项目是人类工程中对人力.脑力的配合度要求最高的项目.所以高智商的人才开发出各种项目定义实施流程:PMBOK.CMMI.IPD.SCRUM.XP等,这些流程的实施离不开各种强大的信息系统.但是这些系统只适合于大公司大流程,到单个的项目组级别很难为项目具体的特点做适配,随心所欲的更改.比如做10个

iOS中 加强日志输出 开发技术总结

对于那些做后端开发的工程师来说,看LOG解Bug应该是理所当然的事,但我接触到的移动应用开发的工程师里面,很多人并没有这个意识,查Bug时总是一遍一遍的试图重现,试图调试,特别是对一些不太容易重现的Bug经常焦头烂额.而且iOS的异常机制比较复杂,Objective-C的语言驾驭也需要一定的功力,做出来的应用有时候挺容易产生崩溃闪退.一遍一遍的用XCode取应用崩溃记录.解析符号,通常不胜其烦,有时还对着解析出来的调用栈发呆,因为程序当时的内部状态常常难以看明白,只能去猜测. 对于真机,日志没法

iOS中如何创建一个滑出式导航面板(1)

本文将介绍如何创建类似Facebook和Path iOS程序中的滑出式导航面板. 向右滑动 滑出式设计模式可以让开发者在程序中添加常用的导航功能,又不会浪费屏幕上宝贵的空间.用户可以在任意时间滑出导航面板,并且还可以看到当前屏幕上显示的内容. 现在,互联网上有些库已经内置滑出式设计模式,比如John-Lluch开发的SWRevealViewController.如果你在寻找更加快捷和简单的方法,那么使用SWRevealViewController库可能是一个很不错的方法. 不过,如果你是一名DI

ios 中的半屏幕底部弹出框

static UIView *modalView;if (modalView) { [modalView removeFromSuperview]; modalView = nil; return; } CGRect screen = [[UIScreen mainScreen] bounds]; CGRect bounds = CGRectMake(screen.origin.x, screen.origin.y, screen.size.width, screen.size.height/2

【创业积累】如何快速开发出一个高质量的APP

[起] 今早,一个技术群里有人想快速做出一个app,然后询问技术方案,大概是这样, 拿到了200w投资,期望花20w两个月先做出一个app,包括ios,android, 先,呵呵,一下, 大概预估了一下,两个月20w,一个月10w,基本就是一个高级ios,一个高级android,一个高级后台,基本不靠谱. [问题] 经常有人问,做一个类似xx的app需要多久多少钱,这样的问题, 这样问还算比较靠谱,如果是"我有一个想法,就差一个程序员~",那就呵呵了. 结合上面的问题,如何快速搞出一个

利用百度AI快速开发出一款“问答机器人”并接入小程序

先看实现效果: 利用百度UNIT预置的智能问答技能和微信小程序,实现语音问答机器人.这里主要介绍小程序功能开发实现过程,分享主要功能实现的子程序模块,都是干货! 想了解UNIT预置技能调用,请参看我之前的帖子:<UNIT搭建机器人助理> https://ai.baidu.com/forum/topic/show/953021 想了解微信小程序的开发过程,请参看我之前的帖子:<UNIT接入小程序>https://ai.baidu.com/forum/topic/show/953022

设置iOS APP背景图全屏&amp;NavigationBar透明

Make UINavigationBar transparent 1.使用统一的背景图片 在AppDelegate.swift中添加如下代码: var img=UIImage(named:"background.jpg") var imageView:UIImageView? self.imageView=UIImageView(frame: self.window!.frame) self.imageView?.image=img self.window?.addSubview(se

基于RN开发的一款视频配音APP(开源)

在如今React.ng.vue三分天下的格局下,不得不让自己加快学习的脚步.虽然经常会陷入各种迷茫,学得越多会发现不会的东西也被无限放大,不过能用新的技术作出一些小项目小Demo还是会给自己些许自信与接着学习的动力. 项目部分展现 项目源码地址     项目简介 1. APP后端搭建: 使用NodeJs的koa框架完成APP后端的搭建; 使用mongodb完成数据存储,通过mongoose模块完成对mongodb数据的构建; 2. APP前端搭建: 使用RN组件式架构.JS类库实现快速开发 采用