2012-01-02 58 views
10

我想知道是否有辦法在Internet Explorer 7或更低版​​本中顯示html5代碼。如何在IE 7中使用HTML5?

例如

<div id="container"> 
    <header id="header"> 
     something 
    </header> 
</div> 

在Internet Explorer 7的首部中未示出的。

我發現了一個解決方法here,這是一個IE HTML5啓用腳本,它使用javascript創建html5元素。但是會發生什麼,<header>標籤看起來不像在其他瀏覽器中那樣。

所以我的問題是,使用HTML5還爲時尚早,或者如何讓它跨瀏覽器工作?

+0

,它看起來不一樣,在IE與其他MO的事實無論如何,dern瀏覽器在任何情況下都是如此。不得不調整的東西,讓它看起來在IE中是一樣的,是日常生活的一部分。 – Rob 2012-01-02 03:26:04

+0

聲明「標題根本沒有顯示」是不正確的。 IE 7忽略標籤,而不是內容。所以顯示內容(「某事」),如此。內容的*樣式*是一個不同的問題。 – 2013-10-08 05:29:29

回答

0

嘗試使用chromeframe - http://code.google.com/chrome/chromeframe/

就其本身而言,雖然不能使用大部分HTML5的很酷的新功能與IE7。它只是沒有在瀏覽器中實現簡單而簡單。

+1

謝謝,但用戶需要安裝此訪問我的網站時,不要他們?我不認爲這是一個好主意,沒有人會這樣做。 – phpheini 2012-01-02 03:00:09

5

IE < 9不識別HTML5元素,也不會生成它們。所以我用JS的該位進行發電:

var e = ("abbr,article,aside,audio,canvas,datalist,details, 
figure,footer,header,hgroup,mark,menu,meter,nav,output, 
progress,section,time,video,figcaption,summary").split(','); 

for (var i = 0; i < e.length; i++){ 
    document.createElement(e[i]); 
} 

我用這個條件註釋來檢查我是否需要運行腳本

<!--[if lt IE 9]> 
    <script src="js/html5_createElement_for_IE.js"></script> 
<![endif]--> 

當然,你需要的風格標籤對於IE < 9,但您仍然需要。

+0

爲什麼在該清單上不是'figcaption'和'summary'? – Alohci 2012-01-02 11:07:05

+0

這是一個疏忽,@Alohci。感謝您指出。編輯我的答案(和我的腳本!)。 – 2012-01-02 13:05:44

+0

有很多圖書館可以做到這一點,包括Modernizr和Google Shiv,但本質上這就是發生了什麼。 – superluminary 2012-05-18 08:59:48

0

我檢查請求客戶端是否支持application/xhtml + xml mime類型(它是發送請求的accept頭的一部分)。

如果沒有,那麼我使用div節點代替大多數html5語義節點向客戶端發送頁面版本。

6

在使用HTML5之前需要考慮兩件重要的事情;

  1. 目標受衆(與他們的瀏覽器選擇)
  2. HTML5網站上的實用功能。

如果你確信你的很多的用戶都在IE8及以下,你應該避免使用HTML5幾乎完全。

因此,當您說「現在使用HTML5還爲時過早」時,答案取決於您的用戶羣。 IE僅支持版本9及以上版本的HTML5。

沒有辦法讓HTML5高級功能可以在IE7/8上工作......您提到的html5.js只是讓您的CSS「不忽略」任何HTML5元素並應用樣式。沒有做任何事情比進一步..

適用於所有主要的瀏覽器支持和分數,你可以檢查出html5test.com

除此之外,您還可以檢查出是個非常好的解釋教程HTML5稱爲DesignMobileWeb可在 http://itunes.apple.com/in/app/designmobileweb/id486198804?mt=8

請記住我如果你有一個基本的網站,應該避免使用HTML5。 只有當您打算爲移動設備使用本地存儲,離線訪問和HTML5表格時,您才應該考慮使用HTML5。

1

IE版本< 9不會呈現他們無法識別的元素,因此新的HTML5元素等都不在列表中。其他瀏覽器呈現無法識別的元素,但沒有樣式。

解決方法是通過直接使用JavaScript將它們直接噴射到DOM中來「展示」新元素。您只需在每個頁面視圖上執行一次此操作。

兩個標準的方式來做到這一點是:

Modernizr的也做了一大堆其他的事情要做功能檢測。