雖然沒有能力開發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="1024x748" href="icon-1024x748.png" media="screen and (min-device-width: 481px) and (max-device-width: 1024px) and (orientation:landscape)">
<link rel="apple-touch-startup-image" sizes="768x1004" href="icon-768x1004.png" media="screen and (min-device-width: 481px) and (max-device-width: 1024px) and (orientation:portrait)">
<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://www.prower.cn/technic/2314
最近剛搞了個網站,放上去想儘快被收錄,大家原諒我吧。。武漢長江工商學院自考 http://whgszb.com