第一種方法:IE9以下版本的IE將創(chuàng)建HTML5標(biāo)簽, 非IE瀏覽器會忽略這段代碼,因此不會發(fā)生http請求,也就不影響網(wǎng)頁執(zhí)行效率。
創(chuàng)新互聯(lián)建站是網(wǎng)站建設(shè)技術(shù)企業(yè),為成都企業(yè)提供專業(yè)的成都網(wǎng)站制作、網(wǎng)站設(shè)計,網(wǎng)站設(shè)計,網(wǎng)站制作,網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗和眾多成功案例,為您定制適合企業(yè)的網(wǎng)站。10年品質(zhì),值得信賴!
!--[if lt IE9]
script
(function() {
if (!
/*@cc_on!@*/
0) return;
var e = "abbr, article, aside, audio, canvas, datalist, details, dialog, eventsource, figure, footer, header, hgroup, mark, menu, meter, nav, output, progress, section, time, video".split(', ');
var i= e.length;
while (i--){
document.createElement(e[i])
}
})()
/script
![endif]--
第二種方法:在你的網(wǎng)頁中引入Google的html5shiv包(推薦)
!--[if lt IE9]
script src=""/script
![endif]--
但是不管使用以上哪種方法,都要初始化新標(biāo)簽的CSS.因為HTML5在默認(rèn)情況下表現(xiàn)為內(nèi)聯(lián)元素,對這些元素進(jìn)行布局我們需要利用CSS手工把它們轉(zhuǎn)為塊狀元素方便布局
/*html5*/
article,aside,dialog,footer,header,section,footer,nav,figure,menu{display:block}
但是如果ie6/7/8 禁用腳本的用戶,那么就變成了無樣式的"白板"網(wǎng)頁,我們該怎么解決呢?
我們可以參照facebook的做法,即引導(dǎo)用戶進(jìn)入帶有noscript標(biāo)識的 “/?_fb_noscript=1”頁面,用 html4 標(biāo)簽替換 html5 標(biāo)簽,這要比為了保持兼容性而寫大量 hack 的做法更輕便一些。
!--[if lte IE 8]
noscript
style.html5-wrappers{display:none!important;}/style
div class="ie-noscript-warning"您的瀏覽器禁用了腳本,請a href=""查看這里/a來啟用腳本!或者a href="/?noscript=1"繼續(xù)訪問/a.
/div
/noscript
![endif]--
引導(dǎo)用戶開啟腳本,或者直接跳轉(zhuǎn)到HTML4標(biāo)簽設(shè)計的界面。
這個是兼容問題,如果你非得用這個又要好看,那屬性里設(shè)置下顯示圖標(biāo)吧
html5+javascript,可以借助appscan、apicloud這種跨平臺開發(fā)工具,可以同時開發(fā)多端。
使用HTML5+開發(fā)的移動App并非mobile web頁面。這是新手最容易混淆的地方。mobile web的文件存放在web服務(wù)器上,而移動App的文件存放在手機(jī)本地,編寫移動App的html、js、css文件被打包到ipa或apk等原生安裝包,在手機(jī)客戶端運行。
用個更形象的列子,web app仍然是b/s結(jié)構(gòu),而移動App是c/s結(jié)構(gòu)甚至是完全脫線的單機(jī)應(yīng)用。
這或許有點超過一些人的想象,他們認(rèn)為HTML就是web、就是b/s,事實上javascript早已可通過nodejs等技術(shù)運行在服務(wù)器側(cè),而在HBuilder的移動App里,HTML、JS等文件也可以被打包成原生安裝包。
當(dāng)然這些移動App里某些頁面也可以繼續(xù)從服務(wù)器端以網(wǎng)頁方式下行,就像任何原生應(yīng)用(如微信)都可以內(nèi)嵌網(wǎng)頁一樣。
所以mobile web,在HBuilder里新建項目時,屬于web項目。不要放置到移動App項目下。mobile web項目也不能真機(jī)聯(lián)調(diào)和打包。
智游教育:舉幾個例子說明mobile web和移動App的區(qū)別。
例1:把一個mobile web項目,打包成移動App。
1. 在HBuilder里新建一個web項目,把mobile web代碼放進(jìn)去。
2. 在HBuilder里新建移動App
3. 在新建的移動App下找到manifest.json,將其中的入口頁面配置為mobile web的網(wǎng)絡(luò)地址。
4. 然后點發(fā)行打包,就得到一個移動App的安裝包。除了有個安裝包和桌面有個快捷方式外,與瀏覽器的體驗不會有其他區(qū)別。
5. 不過注意,這樣的移動App體驗很差,它在頁面跳轉(zhuǎn)時會像瀏覽器那樣切換并且白屏,它完全無法脫線使用,沒有網(wǎng)絡(luò)時點開這個app只能看到一片白板。這樣的app在Apple的Appstore審核時是無法通過的,其他大的安卓市場也不會允許發(fā)行。
例子2:正規(guī)的移動App
1. 在HBuilder里新建移動App項目
2. 在移動App里編寫html、Js、css文件,本地js通過ajax方式請求服務(wù)器數(shù)據(jù),通過plus.net對象避開跨域限制
3. 移動App里的js可以通過plus對象調(diào)用手機(jī)原生能力
4. 編寫好的移動App點打包變成安裝包,這才是一個體驗良好的、可上線的移動App。