2009-10-08 36 views
1

是否有任何特定的原因,它不在任何規格?爲什麼沒有將innerHTML添加到w3c規範中?

它似乎在所有瀏覽器中都支持(儘管我承認它並不適用於所有瀏覽器......因爲您必須使用類似innerXHTML的庫才能使其正常工作,這要歸功於Internet Explorer 。

innerHTML的是從瀏覽器的版本即將消失的危險嗎?如果不是不該他們只是將它加入了嗎?

我標誌着這個社會的維基,因爲我知道我會捱打上我的代表爲此...但我只是想知道爲什麼...

+1

我認爲IE開創了innerHTML,我很驚訝它在那裏被打破。 – 2009-10-08 22:14:43

+0

您的意思是「通過Internet Explorer讓它正常工作」? – 2009-10-09 01:51:44

+0

@crescentfresh這就是我的意思:在閱讀關於ALA上的Javascript MVC的文章(http://www.alistapart.com/articles/javascript-mvc/)後,我實現了一種搜索和替換機制。 我以Snook的方式實現它,除了我從外部拉入隱藏的模板元素。這樣我只需要實現2個視圖函數,一個用於表格,另一個用於其他任何用途。這工作在所有的瀏覽器,直到我添加單選按鈕時,其中一些變成了文本框,當我在IE8中嘗試它(IE7實際工作。)原因是,innerHTML屬性... – leeand00 2009-10-09 02:46:44

回答

1

我承認它並不適用於所有這些因爲你必須使用像innerXHTML這樣的庫來使它正常工作,這要歸功於Internet Explorer。

IE 發明 innerHTML;你不可能真的期望它能比它更好地工作。

是否有任何特殊的原因,它不在任何規格?

它被提議用於HTML5,它的價值。雖然你應該繼續使用它,但只能用於編寫直接「塊」或「內聯」元素內容的簡單情況,它肯定不會在將來消失。特殊情況如表格和選擇將繼續是麻煩的。

+0

是IE發明的旨在諷刺的innerHTML評論?他們當然發明了它,但是他們未能在許多方面實施它,而且它在實施它的一些要素方面存在問題。由於這些在IE7或IE8中都沒有修復(IE8中的例外情況除外),我當然希望它能比IE中更好的工作......我希望它能像所有其他瀏覽器一樣工作......在所有元素上。 – scunliffe 2009-10-08 23:58:01

+0

@scunliffe同意。今天我們的汽車上沒有使用相同類型的車輪,發明它的第一個穴居人做了。 – leeand00 2009-10-09 02:56:06

0

IE是動態修改內容的發明者,一直伴隨着它 - 其他瀏覽器都沒有!

將字符串作爲innerHTML傳遞意味着該字符串在傳遞給元素之前將通過規範化過程。這意味着它會將字符串轉換爲正確的html解析內容。

Firefox實施錯誤。它不區分html:innerHTML和html:innerText和純文本字符串:text。對於IE來說,這個區別是顯而易見的,但對於FF來說卻不是這樣。因此,處理情況的差異以及FF專用編碼器返回主設備時的混淆。

相關問題