小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

移動(dòng)平臺(tái)前端開發(fā)總結(jié)(針對(duì)iphone,Android等手機(jī))

 過客圖書007 2014-08-04

移動(dòng)平臺(tái)前端開發(fā)是指針對(duì)高端智能手機(jī)(如Iphone、Android)做站點(diǎn)適配也就是WebApp,并非是針對(duì)普通手機(jī)開發(fā)Wap 2.0,所以在閱讀本篇文章以前,你需要對(duì)webkit內(nèi)核的瀏覽器有一定的了解,需要對(duì)HTML5和CSS3有一定的了解。

1、首先我們來看看webkit內(nèi)核中的一些私有的meta標(biāo)簽,這些meta標(biāo)簽在開發(fā)webapp時(shí)起到非常重要的作用

       (1)<meta content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0" name="viewport" />
       (2)<meta content="yes" name="apple-mobile-web-app-capable" />
       (3)<meta content="black" name="apple-mobile-web-app-status-bar-style" />
       (4)<meta content="telephone=no" name="format-detection" />

        第一個(gè)meta標(biāo)簽表示:強(qiáng)制讓文檔的寬度與設(shè)備的寬度保持1:1,并且文檔最大的寬度比例是1.0,且不允許用戶點(diǎn)擊屏幕放大瀏覽;尤其要注意的是content里多個(gè)屬性的設(shè)置一定要用分號(hào)+空格來隔開,如果不規(guī)范將不會(huì)起作用。
        第二個(gè)meta標(biāo)簽是iphone設(shè)備中的safari私有meta標(biāo)簽,它表示:允許全屏模式瀏覽;
        第三個(gè)meta標(biāo)簽也是iphone的私有標(biāo)簽,它指定的iphone中safari頂端的狀態(tài)條的樣式;
        第四個(gè)meta標(biāo)簽表示:告訴設(shè)備忽略將頁面中的數(shù)字識(shí)別為電話號(hào)碼

2、如何去除Android平臺(tái)中對(duì)郵箱地址的識(shí)別
      看過iOS webapp API的同學(xué)都知道iOS提供了一個(gè)meta標(biāo)簽:用于禁用iOS對(duì)頁面中電話號(hào)碼的自動(dòng)識(shí)別。在iOS中是不自動(dòng)識(shí)別郵件地址的,但在Android平臺(tái),它會(huì)自動(dòng)檢測(cè)郵件地址,當(dāng)用戶touch到這個(gè)郵件地址時(shí),Android會(huì)彈出一個(gè)框提示用戶發(fā)送郵件,如果你不想Android自動(dòng)識(shí)別頁面中的郵件地址,你不妨加上這樣一句meta標(biāo)簽在head中

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

3、如何去除iOS和Android中的輸入U(xiǎn)RL的控件條
      你的老板或者PD或者交互設(shè)計(jì)師可能會(huì)要求你:能否讓我們的webapp更加像nativeapp,我不想讓用戶看見那個(gè)輸入url的控件條?
答案是可以做到的。我們可以利用一句簡(jiǎn)單的javascript代碼來實(shí)現(xiàn)這個(gè)效果

      setTimeout(scrollTo,0,0,0);
請(qǐng)注意,這句代碼必須放在window.onload里才能夠正常的工作,而且你的當(dāng)前文檔的內(nèi)容高度必須是高于窗口的高度時(shí),這句代碼才能有效的執(zhí)行。

4、如何禁止用戶旋轉(zhuǎn)設(shè)備
      我曾經(jīng)也想禁止用戶旋轉(zhuǎn)設(shè)備,也想實(shí)現(xiàn)像某些客戶端那樣:只能在肖像模式或景觀模式下才能正常運(yùn)行。但現(xiàn)在我可以很負(fù)責(zé)任的告訴你:別想了!在移動(dòng)版的webkit中做不到!
至少Apple webapp API已經(jīng)說到了:我們?yōu)榱俗層脩粼趕afari中正常的瀏覽網(wǎng)頁,我們必須保證用戶的設(shè)備處于任何一個(gè)方位時(shí),safari都能夠正常的顯示網(wǎng)頁內(nèi)容(也就是自適應(yīng)),所以我們禁止開發(fā)者阻止瀏覽器的orientationchange事件,看來蘋果公司的出發(fā)點(diǎn)是正確的,蘋果確實(shí)不是一般的蘋果。
iOS已經(jīng)禁止開發(fā)者阻止orientationchange事件,那Android呢?對(duì)不起,我沒有找到任何資料說Android禁止開發(fā)者阻止瀏覽器orientationchange事件,但是在Android平臺(tái),確實(shí)也是阻止不了的。

5、如何檢測(cè)用戶是通過主屏啟動(dòng)你的webapp
      看過Apple webapp API的同學(xué)都知道iOS為safari提供了一個(gè)將當(dāng)前頁面添加主屏的功能,按下iphone\ipod\ipod touch底部工具中的小加號(hào),或者ipad頂部左側(cè)的小加號(hào),就可以將當(dāng)前的頁面添加到設(shè)備的主屏,在設(shè)備的主屏?xí)詣?dòng)增加一個(gè)當(dāng)前頁面的啟動(dòng)圖標(biāo),點(diǎn)擊該啟動(dòng)圖標(biāo)就可以快速、便捷的啟動(dòng)你的webapp。從主屏啟動(dòng)的webapp和瀏覽器訪問你的webapp最大的區(qū)別是它清除了瀏覽器上方和下方的工具條,這樣你的webapp就更加像是nativeapp了,還有一個(gè)區(qū)別是window對(duì)像中的navigator子對(duì)象的一個(gè)standalone屬性。iOS中瀏覽器直接訪問站點(diǎn)時(shí),navigator.standalone為false,從主屏啟動(dòng)webapp時(shí),navigator.standalone為true, 我們可以通過navigator.standalone這個(gè)屬性獲知用戶當(dāng)前是否是從主屏訪問我們的webapp的。
在Android中從來沒有添加到主屏這回事!

6、如何關(guān)閉iOS中鍵盤自動(dòng)大寫
      我們知道在iOS中,當(dāng)虛擬鍵盤彈出時(shí),默認(rèn)情況下鍵盤是開啟首字母大寫的功能的,根據(jù)某些業(yè)務(wù)場(chǎng)景,可能我們需要關(guān)閉這個(gè)功能,移動(dòng)版本webkit為input元素提供了autocapitalize屬性,通過指定autocapitalize=”off”來關(guān)閉鍵盤默認(rèn)首字母大寫。

7、如何關(guān)閉Android/iPhone瀏覽器自動(dòng)識(shí)別數(shù)字為電話號(hào)碼
      iPhone上的Safari(還有些webkit android手機(jī)瀏覽器)會(huì)自動(dòng)對(duì)看起來像是電話號(hào)碼的數(shù)字串(包括已經(jīng)加入連字符或括號(hào)格式化過的)添加電話鏈接,點(diǎn)擊之后會(huì)詢問用戶是否想要撥打該號(hào)碼。如果你不希望開啟這個(gè)自動(dòng)識(shí)別,可以將它關(guān)閉:
<meta name="format-detection" content="telephone=no" />
如果你關(guān)閉自動(dòng)識(shí)別后,又希望某些電話號(hào)碼能夠鏈接到iPhone的撥號(hào)功能,那么可以通過這樣來聲明電話鏈接:
<a href="tel:12345678910">12345678910</a>

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多