當(dāng)開發(fā)人員可以在不同的瀏覽器中使用相同的標(biāo)記和代碼時可以得到相同的結(jié)果,這會讓W(xué)eb變得更好。IE10在這方面的取得進展,完全支持HTML5的標(biāo)準(zhǔn)化解析規(guī)則。HTML 5的重要變化之一便是引入了針對非標(biāo)準(zhǔn)HTML特別是錯誤格式HTML的標(biāo)準(zhǔn)化解析規(guī)則。瀏覽器在遇到存在錯誤的HTML如缺少結(jié)束標(biāo)記時通常表現(xiàn)得很寬松。這種大度被廣受贊譽,因為相比對手XHTML來說,HTML在此種情況下會繼續(xù)正常處理。
HTML最新待定標(biāo)準(zhǔn)提到:
本規(guī)范定了HTML文檔的解析規(guī)則,無論它們語法是否錯誤。解析算法中的某些地方被視為解析錯誤。針對解析錯誤的處理明確定義:用戶代理(瀏覽器)在遇到這些問題時要么按照如下描述處理,要么必須在遇到第一個不想遵循如下處理規(guī)則的錯誤時終止處理。
下面的示例說明某些情況下的改進:
互操作的innerHTML
這些改進也適用于innerHTML。代碼模式就像現(xiàn)在這些工作,你會期待IE10:
var select = document.createElement(”select”);
select.innerHTML = “<option>one</option><option>two</option>”;
var table = document.createElement(”table”);
table.innerHTML = “<tr><td>one</td><td>two</td></tr>”;
更好的錯誤報告
HTML5確保標(biāo)記將始終解析。它還是一個幫助開發(fā)人員一開始便避免無效標(biāo)記的方法。編寫有效的標(biāo)記可以使您的網(wǎng)站按照期望的方式工作,并更好的與舊版瀏覽器兼容。
為了在這方面幫助開發(fā)人員,IE10現(xiàn)在可以通過F12開發(fā)人員工具報告HTML解析錯誤。
刪除舊特性
因為某些在早期IE瀏覽器版本中的特性已不符合HTML5解析,我們已經(jīng)將他們從IE10模式中刪除。這些過時的特性在傳統(tǒng)模式下仍然有效。
1、條件注釋
<!–[if IE]>
在IE10和其他的瀏覽器中,此內(nèi)容被忽略。
在舊版本的IE瀏覽器中,它呈現(xiàn)為頁面的一部分。
<![endif]–>
這意味著仍然可以使用條件注釋,但將只針對舊版本的IE瀏覽器 。如果你需要區(qū)分較新的瀏覽器,請使用功能檢測。
2、元素行為
<html xmlns:my>
<?import namespace=”my” implementation=”my.htc”>
<my:element>
在IE10和其他的瀏覽器中,這解析為未知的元素
在舊版本的IE瀏覽器中,它綁定到 “my.htc”
</my:element>
</html>
3、XML Data Islands
<xml>
在IE10和其他的瀏覽器中,這解析為<b>HTML</b>
在舊版本的IE瀏覽器中,它解析為XML
</xml>