我做了一些漏洞在IE8和IE9的錯誤,當我遇到一個奇怪的錯誤來了。 HTML中有一個<section class="create">
標籤,但在頁面加載完成後,頁面的下方會出現相同的標籤。起初,我認爲有一些壞的javascript以某種方式克隆section
,但我禁用了JavaScript,並且在頁面加載後它仍然存在。這必須是創建此標籤的HTML解析器,對吧?呈現的HTML根本不匹配HTML文件。Internet Explorer的HTML解析器會添加非結束標記嗎?
我知道HTML解析器將在</div>
標籤或</html>
標籤等加入,他們丟失的情況,但將永遠IE重新或添加一個標籤出於某種原因?如果是這樣,這是什麼原因?如果不是這種情況,當javascript被禁用時,可能會導致HTML中不存在的標記被添加到DOM中?
我工作的HTML頁面是超過20,000線長,有一定不良HTML所有的地方,其中的任何一個可能會造成DOM被不適當地呈現。如果有一個片段可以添加到這個有幫助的問題,請在評論中告訴我。
這裏是最小的HTML複製這個問題。請注意,它只發生在form
標記內,而不是div
標記。所述section
標籤重新打開本身在IE8和IE9形式元件關閉後,因此產生2個section
元件。
<!DOCTYPE html>
<html>
<head></head>
<body>
<form>
<section class="create">
CREATE SECTION
</form>
</body>
</html>
而且這裏有一個小提琴:http://jsfiddle.net/VurE6/
爲了記錄在案,IE10,Chrome瀏覽器,Firefox和Safari都沒有顯示這種行爲(即我所知道的)。
除非這是一個已知問題,某人可以根據一般描述輕鬆識別和識別,否則您需要提供一些代碼。將HTML縮小到仍然可以重現該問題的最小量,並將該子集的代碼(或其演示版或實時版的鏈接)發佈。 – 2013-03-15 00:32:18
我會看看是否可以在複製問題的同時削減代碼。 – MattDiamant 2013-03-15 00:34:58
您是否嘗試過通過驗證程序來運行它? – 2013-03-15 00:36:41