Как мне узнать неверный HTML, который мой браузер решил игнорировать? - PullRequest
1 голос
/ 30 декабря 2011

Например, в следующем HTML ...

<form name="outerform">
  <input type="text" name="outer1"/>
  <input type="text" name="outer2"/>

  <div>
    <form name="innerform" method="post" action="#">
      <input type="text" name="inner1"/>
    </form>
  </div>
</form>

Firefox просто отбросит тег innerform <form>, поскольку формы не могут быть вложенными.

Я столкнулся с этим, исправляя устаревший код.Кто-то разместил тег <form>, охватывающий почти весь контент body.Когда я добавил свой собственный, более локализованный <form>, Firefox удалил внутренний тег, и мои представления отправились во внешнюю форму.Так как я делал некоторую обработку jQuery для создания моего URL-адреса отправки, я подумал, что это моя ошибка.Я понял проблему после просмотра отрисованного HTML-кода на вкладке HTML в Firebug.

Если бы в браузере или Firebug была вкладка для «игнорируемого HTML», или какой-то такой метод, я бы сразу выбрал его.Я не могу просто сделать View-Source и вставить его в веб-службу проверки W3C по следующим причинам:

  1. По соображениям безопасности компьютер, на котором я работаю, не подключен кобщедоступный Интернет.
  2. На вкладке HTML в Firebug отображается обработанный HTML-код, поэтому недействительный HTML-тег уже удален.

Наконец, редактор (Eclipse) обычно используется для обнаружения ошибок.как это.Но мы используем много включенных файлов и фреймворк Tiles, поэтому вы видите только фрагмент окончательной HTML-страницы за раз.

Ответы [ 3 ]

1 голос
/ 30 декабря 2011

Я нашел свое решение.Спасибо комментарию Бориса Збарского за то, что он указал мне правильное направление.Исходный вид показывает загруженный HTML, но инспектор Firebug DOM показывает визуализированный HTML (я ошибся в двух в вопросе).Решение:

  1. Выполните просмотр источника и сохраните файл (Файл 1)
  2. Откройте инспектор DOM Firebug, щелкните правой кнопкой мыши элемент верхнего уровня <html>, Скопировать HTML,и сохраните в файл (Файл 2)
  3. Используйте инструмент сравнения, чтобы сравнить два файла.В графическом инструменте сравнения файл 2 будет показывать пробелы, в которых браузер игнорировал / удалял HTML.

Переформатирование HTML-кода в двух файлах может облегчить различие.

0 голосов
/ 10 июня 2014

Если у вас есть инструмент wget, весьма практично получить точную копию HTML, который генерирует ваш сервер. Даже функция просмотра исходного кода не всегда показывает вам, что именно было загружено (возможно, сейчас, но я часами смотрел на «действительный» код там, когда сервер делал это неправильно.)

Вы можете получить wget для MS-Windows с помощью инструментов mingw на SourceForge.net. В Linux он, скорее всего, уже установлен, если не искать его в своих репозиториях.

0 голосов
/ 30 декабря 2011

Если он недействителен, нет способа узнать, как отреагирует браузер; таким образом, все, что указано в HTML Validator как поврежденное, вероятно, должно быть исправлено.

Вы можете проверить HTML в автономном режиме; например, я использую плагин для Coda , который проверяет HTML в автономном режиме.

...