我們也許無法改變互聯網
但是我們正在改變建站

建站不再是一項技術工作
網站建設更多的是一次營銷創作過程
騰佳科技建站永遠踐行的 就是運營至上
去洞穿時代人心 用最好的視覺與藝術感動心靈
我們的思想與品位凝結成每件卓越的作品
別人還在告訴你如何建一個網站
而我們卻在解決如何運營你的網站
騰佳也許無法改變互聯網
但是我們正在改變建站

百度千次,不如咨詢一次
服務熱線:400-089-6028
在線客服:QQ1379707606   QQ2061726764

鄭州騰佳科技有限公司 www.yciytp.live

地址:鄭州市管城區鄭汴路東明路交叉口恒泰國際B座2328

業務熱線:0371-86095296  13938298430

大客戶專線:13938277030 (手機/微信)

在線咨詢

如何解決IE6/IE7/IE8瀏覽器不兼容HTML5

時間:04-07 來源:騰佳科技 作者:www.yciytp.live 所屬欄目:網站知識 點擊:

如何解決IE6/IE7/IE8瀏覽器不兼容HTML5新標簽的問題

HTML5是用于取代1999年所制定的HTML4.01和XHTML1.0標準的HTML(標準通用標記語言下的一個應用)標準版本;現在仍處于發展階段,但大部分瀏覽器已經支持某些HTML5技術。HTML5有兩大特點:首先,強化了Web網頁的表現性能。其次,追加了本地數據庫等Web應用的功能。

廣義論及HTML5時,實際指的是包括HTML、CSS和JavaScript在內的一套技術組合。它希望能夠減少瀏覽器對于需要插件的豐富性網絡應用服務(plug-in-based rich internet application,RIA),如Adobe Flash、Microsoft Silverlight與Oracle JavaFX的需求,并且提供更多能有效增強網絡應用的標準集。

目前HTML5已向開發人員提供了很多新的標簽,如section,nav,article,header和footer等。這些標簽語義化程度高,會被經常使用,但在IE6,IE7,IE8和Firefox 2等老式瀏覽器中卻不能識別和正常使用。

一、HTML5標簽在瀏覽器展示存在的問題

對于現階段來說,使用HTML5標簽可能遇到的最大問題就是如何在不支持新標簽的瀏覽器中做恰當的處理。當我們在頁面中使用HTML5元素時,可能會得到三種不同的結果。

結果1:標簽被當作錯誤處理并被忽略。那么DOM構建的時候,就會當作這個標簽不存在。

結果2:標簽會被當作錯誤處理,并在DOM構建的時候依然會按照預期的代碼進行創建,并且HTML標簽會被構造成行內元素(也就是說雖然不能識別,但是代碼里section標簽依然會在dom中創建一個對應section節點,但是屬于行內元素)。

很多瀏覽器(比如Firefox 3.6和Safari4)解析的時候都會將div作為最外層的元素,然后div里面是一個識別不了的元素(section),它會在DOM中創建,并被作為一個行內元素存在。h1和p元素都是作為section元素的子節點。因為section在DOM中真實存在,所以也可以修改其樣式。這種情況對應結果2。

IE9之前的版本會認為section標簽是一個錯誤,并直接將其忽略,那么h1和p標簽會被解析,然后成為div標簽的子節點。</section>也會被認為是一個錯誤并直接跳過。在這些瀏覽器中實際有效的代碼是這樣的:

那么,舊版本的IE瀏覽器除了生成的DOM結構和其他瀏覽器不一樣,其對不可識別標簽的容錯能力還是很棒的。因為section節點沒有在DOM樹中構建,所以也就不能給其增加樣式。這種情況對應結果1。

當然,支持HTML5的瀏覽器比如IE9,Firefox4+,Safari5+會創建正確的DOM結構,然后這些標簽會默認附帶HTML5規范中定義的默認樣式。

那么,我們所面臨的最大問題就是同樣的代碼在不同的瀏覽器中形成了不同的DOM結構,并且含有不同的樣式。

在我的研究中,我使用了多個頁面,然后在這些頁面上使用修改過后的bulletproof技術。我分別在簡單和復雜的布局中,含有和不含有JavaScript交互進行測試。在每一個例子中,我只需要修改HTML就可以讓頁面表現正確(不修改JavaScript和CSS)。那么,子節點和父節點的問題怎么辦?有趣的事情是我在測試中并沒有遇到這樣的問題。

理由很簡單,因為我對代碼苛刻的態度。我認真地做了第二遍檢查:

(1)、標簽名和ID不會用于應用樣式(只是用class)。

(2)、盡量選擇常用的CSS選擇器并且盡量減少選擇器的使用。

(3)、JavaScript代碼不依賴于特定的DOM結構。

(4)、標簽名不用于操作DOM。

我注意到另一個有趣的事情是我使用了HTML5元素作為容器。而這些新的元素僅僅是作為功能性模塊的邊界。你應該花費你的大部分時間為內部的元素編寫樣式和腳本而不是處理各個模塊間的樣式和腳本。由于馬海祥博客的JavaScript和CSS標簽都應用在容器的內部,所以一切都顯得很順利。我想這才是一個真正的代碼質量高的網站。
文章來源:鄭州制作公司哪家好 www.yciytp.live

相關案例

LATEST CASE

最新資訊

建站咨訊

企業網站

公司形象

最新案例

設計知識

騰佳資訊

400電話辦理

成功案例

· 400電話資費標準 [03月24日]
掃一掃,加微信
與建站老師一對一溝通

咨詢總機:0371-86095296    24小時聯系電話:13938277030 13938298430  

2061726764 1379707606    網站制作  網站建設  TAG標簽  網站地圖  

公司地址:鄭州市管城區鄭汴路東明路交叉口恒泰國際B座23樓2328室

2012-2016騰佳科技(鄭州騰佳科技有限公司)版權所有 豫ICP備14002248號-2 友情連接申請qq:2061726764

400-089-6028
大乐透近500期开奖号码