成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

把你的網(wǎng)站改造成一個iOS Web App

開發(fā) 項(xiàng)目管理
iOS上的一個Web App(下圖中的「念」)和Native App(原生應(yīng)用)在外觀上看起來基本上一樣,但是其使用的技術(shù)是HTML,CSS,Javascript,而不是原生應(yīng)用所使用的Objective-C。

前言

iOS上的一個Web App(下圖中的「念」)和Native App(原生應(yīng)用)在外觀上看起來基本上一樣,但是其使用的技術(shù)是HTML,CSS,Javascript,而不是原生應(yīng)用所使用的Objective-C。

01

本文簡單介紹一下如何把一個Web站點(diǎn)改造成iOS上的Web App,這里假設(shè)你的網(wǎng)站是響應(yīng)式設(shè)計(responsive design)或者已經(jīng)做過移動端的適配。

viewport

我們在HTML中加上viewport(這里假設(shè)用戶已經(jīng)對viewport有所了解) meta標(biāo)簽:

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

其中width=device-width指的是移動瀏覽器所顯示的寬度等于設(shè)備的物理寬度,initial-scale=1.0指的是初始縮放倍數(shù)為1.0(即不縮放)maximum-scale=1.0指的是***的縮放倍數(shù)是1.0,user-scalable=no指用戶不可以手動進(jìn)行縮放。這些參數(shù)請根據(jù)自己的情況進(jìn)行調(diào)整。本站調(diào)整完成后,效果如下:

02

Icon

當(dāng)用戶通過safari訪問我們網(wǎng)站的時候,用戶是可以把網(wǎng)站的URL以一個快捷方式的形式添加到主屏幕的,展示形式跟原生的應(yīng)用是一樣,所以我們要給我們的網(wǎng)站添加應(yīng)用Icon。

03

iOS所用的icon是png格式的,其提供了apple-touch-iconapple-touch-icon-precomposed兩種icon,使用方式如下:

  1. <link rel="apple-touch-icon" href="/apple-touch-icon.png"/> 
  2. <link rel="apple-touch-icon-precomposed" href="/apple-touch-icon-precomposed.png"/> 

以上你只能選其一,二者的區(qū)別在于如果使用apple-touch-icon,那么iOS會給icon加上一些NB的效果,包括圓角,陰影,反光。如果使用apple-touch-icon-precomposed則iOS不會加這個效果。

如果你的網(wǎng)站也要可以在Ipad上訪問,那么你還要針對不同的設(shè)備準(zhǔn)備不同尺寸的icon,你可以通過sizes屬性來指定icon的尺寸:

  1. <link rel="apple-touch-icon" href="touch-icon-iphone.png" /> 
  2. <link rel="apple-touch-icon" sizes="72x72" href="touch-icon-ipad.png" /> 
  3. <link rel="apple-touch-icon" sizes="114x114" href="touch-icon-iphone-retina.png" /> 
  4. <link rel="apple-touch-icon" sizes="144x144" href="touch-icon-ipad-retina.png" /> 

如果你不指定size屬性,那么默認(rèn)為57x57,我們可以看到ipad所需icon的尺寸是72x72retina屏幕的iphone所需的尺寸是114x114retina屏幕的ipad所需的尺寸是144x144

如果沒有當(dāng)前設(shè)備所需尺寸的icon,那么iOS將會選用icon中所有大于此設(shè)備所需尺寸的最小的一個。如果沒有比設(shè)備所需尺寸大的icon,那么選用***的那個icon。如果有多個符合條件的icon,那么iOS會選擇有precomposed關(guān)鍵詞的那個。

如果在HTML中沒有指定icon,那么iOS會到WEB根目錄下尋找對應(yīng)的icon。假設(shè)設(shè)備需要57x57的icon,那么iOS將以下面的順序進(jìn)行訪問:

  • apple-touch-icon-57x57-precomposed.png
  • apple-touch-icon-57x57.png
  • apple-touch-icon-precomposed.png
  • apple-touch-icon.png

#p#

啟動界面

像原生應(yīng)用一樣,你也可以給Web App加上一個啟動界面,很簡單:

  1. <link rel="apple-touch-startup-image" href="/startup.png"> 

iPhoneiPod touch上,尺寸大小必須為320 x 460

隱藏Safari用戶欄

為了更加像原生應(yīng)用,我們還可以對Safari的用戶欄和地址欄進(jìn)行隱藏,這個叫作standalone模式,加入以下meta進(jìn)入此模式:

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

你可以通過window.navigator.standalone來檢測當(dāng)前是否是standalone模式。效果如下:

04

鏈接問題

在Safari中,如果點(diǎn)擊一個鏈接,那么Safari將會打開一個新的tab,顯然做為一個應(yīng)用這體驗(yàn)簡直太差了,需要在HTML中加入以下JavaScript來阻止此行為:

 

  1. <script type="text/javascript" charset="utf-8"> 
  2. // Mobile Safari in standalone mode 
  3. if(("standalone" in window.navigator) && window.navigator.standalone){ 
  4.  
  5.     // If you want to prevent remote links in standalone web apps opening Mobile Safari, change 'remotes' to true 
  6.     var noddy, remotes = true
  7.  
  8.     document.addEventListener('click', function(event) { 
  9.  
  10.         noddy = event.target; 
  11.  
  12.         // Bubble up until we hit link or top HTML element. Warning: BODY element is not compulsory so better to stop on HTML 
  13.         while(noddy.nodeName !== "A" && noddy.nodeName !== "HTML") { 
  14.             noddynoddy = noddy.parentNode; 
  15.         } 
  16.  
  17.         if('href' in noddy && noddy.href.indexOf('http') !== -1 && (noddy.href.indexOf(document.location.host) !== -1 || remotes)) 
  18.         { 
  19.             event.preventDefault(); 
  20.             document.location.href = noddy.href; 
  21.         } 
  22.  
  23.     },false); 
  24. </script> 

以上代碼來自gist

***

Have fun :)

參考:

Configuring Web Applications

Everything you always wanted to know about touch icons

原文鏈接:http://weizhifeng.net/make-web-app-more-native.html

責(zé)任編輯:陳四芳 來源: weizhifeng.net
相關(guān)推薦

2020-07-07 07:55:53

web app數(shù)據(jù)科學(xué)機(jī)器學(xué)習(xí)

2024-04-01 13:18:15

App架構(gòu)服務(wù)端

2022-10-17 10:28:05

Web 組件代碼

2021-10-29 12:01:11

HTTP代碼前端

2011-08-09 18:06:20

windows7windowsXP

2011-08-29 10:51:51

UbuntuWindows7

2013-08-09 09:49:19

開源怎么開源庫開源

2018-10-11 21:00:18

2024-04-23 15:01:48

2013-05-13 09:31:29

Web App開發(fā)WebApp

2021-03-17 10:16:39

樹莓派音樂系統(tǒng)Linux

2021-06-07 12:08:06

iOS Python API

2018-10-16 09:45:36

谷歌AI游戲

2014-09-25 09:51:29

Android App個人博客

2009-12-30 10:49:26

MPLS VPN

2019-08-06 13:37:55

微服務(wù)架構(gòu)數(shù)據(jù)

2020-07-28 14:23:55

代碼開發(fā)Github

2015-08-25 09:51:50

WebAppNative App

2019-01-11 09:41:56

網(wǎng)易考拉服務(wù)架構(gòu)微服務(wù)

2018-03-19 08:30:02

編程開發(fā)技能
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 秋霞国产| 午夜精品网站 | 成年视频在线观看福利资源 | 精品久久久久一区二区国产 | 懂色中文一区二区三区在线视频 | 九九热在线视频 | 97人人超碰 | h在线播放 | 狠狠操狠狠干 | 精品国产乱码久久久久久中文 | 国内激情av片 | 日韩伦理一区二区三区 | 日本精品视频在线 | 精品久久久久久久久久久久久久 | 成人福利电影 | 中文字幕三区 | 欧美欧美欧美 | 九九在线视频 | 成人国产精品久久 | 亚洲欧美日韩久久 | 黄色一级大片在线免费看产 | 国产精品777一区二区 | 男女激情网 | 亚洲iv一区二区三区 | 欧美激情国产精品 | 91麻豆精品国产91久久久更新资源速度超快 | 国产一区二区不卡 | 中文字幕视频在线观看免费 | 怡红院成人在线视频 | 男女视频在线免费观看 | 中文字幕视频三区 | 日本免费一区二区三区 | 精品永久| www日| 日本一区二区三区免费观看 | 剑来高清在线观看 | 少妇一级淫片免费放播放 | 久久99深爱久久99精品 | 欧美一区二区三区在线免费观看 | 手机在线不卡av | 91精品国产乱码久久久久久久久 |