close

讓IE6,IE7和Ie8支持新的HTML5元素解析 

 

 

http://www.inspirr.com 
 

 


 

 

 

我們使用新的HTML5元素時,在其它瀏覽器中能表現良好的標簽(比如Section,article,header和footer)對IE瀏覽器是個挑戰.問題的原因來在IE瀏覽器的解析機制,這些不能不識別的標簽元素導致文檔對象的錯誤展現.
為了說明這個問題,請看下面的簡短代碼:

1 2 3 4 5 <body> <section> <p>This is an example</p> </section> </body>

奇怪的是,在IE6-IE8都無法去解析 < section >標簽,導致 Dom節點看上去是下面的樣子:

  • BODY
  • SECTION
  • P
  • #text: This is an example
  • /SECTION

    注意IE瀏覽器創建了兩個空元素.一個是 section,另一個是 /SECTION.確實是這樣的,它將不認識的結束標簽作為一個開始標簽.
    這里有一個方便的方法解決這個問題,最早是由a comment by Sjoerd Visscher實現的.這個方法的最基礎理念就是通過使用 document.createElement(tagName) 來創建未知的元素.IE 的解析器會識別出這些元素,將他們以更合理有效的方式解析展示出來.比如我們可以使用下面的這段代碼:

    1 document.createElement("section");

    這樣,上面的代碼解析后就是下面的樣子:

arrow
arrow
    創作者介紹
    創作者 inspirr 的頭像
    inspirr

    inspirr

    inspirr 發表在 痞客邦 留言(0) 人氣()