如何ios中间Safari在开发了类似的native app像全屏webapp
本文交换了我www.gbtags.com文章。
<meta name="format-detection" content="telephone=no email=no" />
1.在meta中取消电话邮箱的识别。
- <meta name="apple-touch-fullscreen" content="yes">
2.据说是全屏,可是实际ios7.1无效果,查看了百度的大站点的web站点。都已经移除。
3.如今開始讲我们要用到核心的东西。
3.1首先说的是
- <meta name="apple-mobile-web-app-capable" content="yes">
这是让我们加入应用之后,在桌面打开图标的时候能够全屏显示。可是上面的顶部工具栏上会一块黑色区域。
怎样解决?
3.2
- <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
black-translucent的作用是顶部工具栏,背景透明,字体颜色为白色,当让也有black和white选项,百度是设置为white,我測试中会发现其顶部还是一块黑色,和难看,我測试的版本号是iPhone ios7.1版本号。
![]()
3.3当然上面这些操作可能不是每一个人都会去保存下来去做的,假设保存,请记得使用html5的缓冲技术,这个下次再扯,还有保存中用到的图片呢?
- <link rel="apple-touch-icon-precomposed" href="http://wap.baidu.com/static/img/webapp/img/icon_114.png">
假设你想做的更加适配性大。能够加入size=“114*114”这样,这里大家要注意我用的是
- apple-touch-icon-precomposed
不是
- apple-touch-icon
就是的ios7.0之前生成的icon会自己带有一个阴影,所以请注意。
![]()
3.4,那用户第一次游览这个网页(web app)中怎样做的跟个native app类似呢?
- <meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no,minimal-ui">
前面部分是对屏幕大小的控制,最基本的是后面
- minimal-ui
还有,切记,不要分开content的内容。多个meta使用,会有点小问题,读者自己能够測试。
![]()
4.接下来我们聊得是media query技术,非常多同学做适配的使用用到比方
- <link rel="stylesheet" media="screen and (orientation:portrait) and (min-width:960px)" href="style.css" />
对于这个,我认为能够看下bootstrap和appcan等做他们的解决方案,做的非常成熟了。
今天我们讲的是ios。当然聊点新的media query 技术,看招:
- /*中分辨率屏幕*/
- @media (-webkit-min-device-pixl-ratio: 1){
- //css代码
- }
- /*高分辨率屏幕*/
- @media (-webkit-min-device-pixl-ratio: 1.5){
- //css代码
- }
- /*超高分辨率屏幕(传说中的Retina屏)*/
- @media (-webkit-min-device-pixl-ratio: 2){
- //css代码
- }
- window.devicePixelRatio是设备上物理像素和设备独立像素(device-independent pixels (dips))的比例。
- 公式表示就是:window.devicePixelRatio = 物理像素 / dips
举个样例iphone4/4s。他的宽度是320,可是他的分辨率中的宽已经是640,所以是 @media (-webkit-min-device-pixl-ratio: 2)
5.接下来是个题外话。个人看到别人写的,没有測试。
- <!-- uc强制竖屏 -->
- <meta name="screen-orientation" content="portrait">
- <!-- QQ强制竖屏 -->
- <meta name="x5-orientation" content="portrait">
- <!-- UC强制全屏 -->
- <meta name="full-screen" content="yes">
- <!-- QQ强制全屏 -->
- <meta name="x5-fullscreen" content="true">
- <!-- UC应用模式 -->
- <meta name="browsermode" content="application">
- <!-- QQ应用模式 -->
- <meta name="x5-page-mode" content="app">
ok,东西讲完了,附上已经改动好的样式的项目地址(请git下来。假设兴趣改动好了想push跟博主要shh秘钥):
- https://code.csdn.net/qazwsx2345/node_activity
版权声明:本文博主原创文章,博客,未经同意不得转载。
如何ios中间Safari在开发了类似的native app像全屏webapp的更多相关文章
- IOS应用在ios7(iPhone5/iPhone5s)上不能全屏显示
前言 [IOS应用在iOS7系统或者iPhone5/iPhone5s上不能全屏显示,应用画面上下各有1条黑色,但是在其他系统或者型号的手机上却是正常显示 Paste_Image.png Paste_I ...
- iOS Swift WisdomScanKit二维码扫码SDK,自定义全屏拍照SDK,系统相册图片浏览,编辑SDK
iOS Swift WisdomScanKit 是一款强大的集二维码扫码,自定义全屏拍照,系统相册图片编辑多选和系统相册图片浏览功能于一身的 Framework SDK [1]前言: 今天给大家 ...
- ios 使用Safari浏览器跳转打开、唤醒app
常常使用Safari浏览器浏览网页点击url会唤醒该站点的手机版app 须要在app的project中设置 1.打开project中的myapp-Info.plist文件 2.打开文件里新增URL T ...
- Android 开发 Fresco框架点击小图显示全屏大图实现 ZoomableDraweeView
目标需求 实现一张小图片,被点击后变成一个在整个屏幕上显示的大图片.类似于微信朋友圈的图片. 实现流程 1.Fresco基本初始化 2.下载并且导入ZoomableDraweeView 它是实现大图的 ...
- iOS学习之WebView的使用 (主要是下面的全屏半透明实现)
1.使用UIWebView加载网页 运行XCode 4.3,新建一个Single View Application,命名为WebViewDemo. 2.加载WebView 在ViewControlle ...
- 【Bugly安卓开发干货分享】Android APP 快速 Pad 化实现
项目背景 采用最新版本手机 APP(之后称为 MyApp)代码,实现其 Pad 化,为平板和大屏手机用户提供更好的体验.为实现 MyApp 的 Pad 化工作,需要我们首先来了解一下 MyApp 项目 ...
- Native App开发 与Web App开发(原生与web开发优缺点)
Native App开发 Native App开发即我们所称的传统APP开发模式(原生APP开发模式),该开发针对IOS.Android等不同的手机操作系统要采用不同的语言和框架进行开发,该模式通常是 ...
- Safari 前端开发调试 iOS 完美解决方案
转http://www.2cto.com/kf/201403/283404.html afari 前端开发调试 iOS 完美解决方案 2014-03-05 0个评论 来源:Safari ...
- iOS开发系统类功能划分
0.OC语法基础 CHOCBase Object C语法学习笔记(一) Object C语法学习笔记(二) 1.UI类 自定义控件程序运行流程 setNeedsLayOut和setNeedsDispl ...
随机推荐
- [WPF] 使用Grid与GridSplitter排版布局
原文:[WPF] 使用Grid与GridSplitter排版布局 前言 在開發應用程式時,一個很重要的工作項目就是設計使用者介面的排版布局.WPF中所提供的Grid控制項,讓開發人員擁有將版面分割為欄 ...
- Oracle基础(五)pl/sql进阶(分页过程)
编写分页过程 通过pl/sql实现分页过程,再该过程中由简单到难一步步深入,目的在于通过该案例熟悉pl/sql的各种存储过程,包,游标.怎样在java中调用等内容的学习. 1.无返回值 ...
- bootstrap之DumpWindowHierarchy
DumpWindowHierarchy package io.appium.android.bootstrap.handler; import android.os.Environment; impo ...
- ipconfig /flushdns 清除系统DNS缓存
1.ipconfig /flushdns的作用 ipconfig /flushdns 这是清除DNS缓存用的. 当訪问一个站点时系统将从DNS缓存中读取该域名所相应的IP地址,当查找不到时就会到系统中 ...
- cocos2d-x 2.2.3 创建项目的方法
直接复制粘贴到txt文本,然后修改后缀为.bat,然后将bat文件放到tools\project-creator的目录下即可. :project_input @echo 请输入项目名称,按回车,例:H ...
- DESCryptoServiceProvider加密解密的简单使用例子
DES.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; using S ...
- 使用SharePoint管理中心管理服务
使用SharePoint管理中心管理服务 为了管理服务应用程序.场管理员要么使用管理中心,要么使用PowerShell. 管理服务应用程序页面列出了场上执行的服务.你能够管理他们. 很多服务都有自己的 ...
- .net读取异步Post的内容
//读取微信Post过来的XML内容 byte[] input = HttpContext.Current.Request.BinaryRead(HttpContext ...
- 怎么样MyEclipse配置Tomcat?
1.下载tomcat免安装版.tomcat路径不包含空格 http://download.csdn.net/detail/u014112584/7549191 2.windows -preferenc ...
- 如何自动以管理员身份运行.NET程序?
原文:如何自动以管理员身份运行.NET程序? windows 7和vista提高的系统的安全性,同时需要明确指定“以管理员身份运行”才可赋予被运行软件比较高级的权限,比如访问注册表等.否则,当以普通身 ...