Firefox: атрибуты тега плохо переупорядочены после анализа html - PullRequest
0 голосов
/ 10 февраля 2012

HTML-код:

<input id="txtSizeBeforeValue" type="text" size="5" value="blabla">
<input id="txtValueBeforeSize" type="text" value="blabla" size="5">

HTML-разборный код:

<input id="txtSizeBeforeValue" type="text" value="blabla" size="5">
<input id="txtValueBeforeSize" type="text" size="5" value="blabla">

Здесь вы можете увидеть, что есть проблема с HTML-парсером Firefox, атрибуты тега плохо переупорядочиваются с каждым тегом HTMLнапример, ввод текста / кнопки, textarea, canvas ... Даже если вы напишите атрибуты тега, как будто они переупорядочены, они переупорядочиваются снова.Проблема видна в Firebug и инструменте анализа HTML-анализа Firefox, поэтому она не может быть проблемой Firebug.Нет проблем с Google Chrome, поскольку анализатор HTML не переупорядочивает атрибуты тегов.

У вас тоже есть проблема с Firefox?На каждой платформе?

Ответы [ 3 ]

3 голосов
/ 20 февраля 2012

Вы должны винить DOM в переупорядочении, вместо того, чтобы обвинять парсер.(Я написал анализатор HTML в Firefox.)

В Firefox различные атрибуты хранятся внутри разных представлений (в частности, атрибуты, которые обрабатываются как устаревшие подсказки для представления в целях CSS).Когда вы видите переупорядоченные атрибуты, это означает, что у вас есть атрибуты, принадлежащие разным видам внутренних блоков памяти на одном элементе.

Вы обнаружите, что порядок атрибутов, которые вы можете прочитать из DOM IE, также часто нетакой же, как в исходном порядке.

Это нормально.Спецификация просто требует, чтобы порядок был стабильным, поэтому, если вы дважды читаете innerHTML без изменения промежуточных атрибутов, вы должны получить одну и ту же сериализацию дважды.

В то время как точный порядок атрибутов определяется UAи может зависеть от таких факторов, как порядок, в котором атрибуты были заданы в исходной разметке, порядок сортировки должен быть стабильным, чтобы последовательные вызовы этого алгоритма сериализовали атрибуты элемента в том же порядке.

http://www.whatwg.org/specs/web-apps/current-work/multipage/the-end.html#serializing-html-fragments

1 голос
/ 10 февраля 2012

Спецификация HTML гласит, что «Они могут появляться в любом порядке».

здесь: http://www.w3.org/TR/html4/intro/sgmltut.html#h-3.2.2

Это не ошибка!

Однако вы можете создать свойсобственный инструмент ...

0 голосов
/ 10 февраля 2012

Порядок атрибутов не имеет значения, если их значения назначены правильно

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...