2011-11-14 49 views
2

使用過時或尚未實現的HTML標記有什麼錯?不使用它們改進了舊版瀏覽器的可移植性?例如,今天在驗證一些HTML文檔時,我得到了這兩條消息:在HTML中使用過時標籤是錯誤的嗎?

警告:腳本元素上的語言屬性已過時。您可以安全地忽略它。

警告:bdi元素尚未被瀏覽器支持。

我因爲情況下,用戶使用非常過時的瀏覽器(如IE 5)不解釋屬性使用

<script language="javascript" type="text/javascript"> 

,它仍然有效通過解釋「過時「屬性語言

而且

<bdi> 
在用戶正在使用的足夠更新的瀏覽器,其解釋它的情況下

對於我所知道的,如果瀏覽器不「知道」某個屬性/元素,它只是省略了它,可以這樣做,或者我錯過了什麼?

+7

您的目標是兼容HTML5的瀏覽器**和** IE5?一個十年前發佈的瀏覽器?你可能不得不讓驗證者哭,而忽略它。從好的一面來看,這聽起來像你很瞭解你的用戶基礎,並且它是有限的。只要忽略驗證器即可。 –

+0

由於您描述的原因,這些消息是警告而非錯誤。通常他們會指出創作錯誤,但有時是合理的。你有理由。沒關係。 – Alohci

+0

好吧,我會這麼做的。我認爲警告=違反W3C標準,但我想我錯了。感謝你的回答 – federicot

回答

2

那麼,只要頁面沒有必要工作,使用過時標籤就沒有問題。我會避免使用諸如<marquee>之類的東西,但我沒有看到腳本元素出錯的原因。但是,如果可能,我會避免使用bdi標籤,因爲並非所有瀏覽器都可以使用它。

1

根據HTML5的W3C(草案)規範,只要符合標籤上的語言屬性,只要遵循一些規則即可。規範稱這是「過時但符合要求的警告」。所以我不會太擔心那個。

http://dev.w3.org/html5/spec/Overview.html#warnings-for-obsolete-but-conforming-features

對於其他過時的屬性,我創建了一個小書籤,去除過時(在HTML5)從頁面屬性,以便您可以直觀的看到,如果一個瀏覽器最終完全不支持什麼樣的影響將發生屬性。點擊此處查看 - >attrebuke