Хорошо сформированные <link>теги внутри HTML <head>теги - PullRequest
0 голосов
/ 28 августа 2009

Я создаю конструктор HTML Gui, и это включает в себя циклическое переключение HTML-страниц из браузера на сервер и обратно.

На сервере у меня есть xml-парсер, который ожидает правильно сформированные теги.

Я начинаю с написания корректного HTML-кода, например:

<head>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" />
  <link rel="stylesheet" type="text/css" href="/some/path/to/some.css" />
</head>

Браузер решает, что знает лучше и превращает это в:

<head>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15">
  <link rel="stylesheet" type="text/css" href="/some/path/to/some.css">
</head>

Второй план заключался в том, чтобы заключить в отдельные закрывающие теги:

<head>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15"></meta>
  <link rel="stylesheet" type="text/css" href="/some/path/to/some.css"></link>
</head>

Это тоже не работает.

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

Я что-то упустил? Как мне заставить браузер вести себя корректно в HTML?

Ответы [ 2 ]

3 голосов
/ 28 августа 2009

Это не правильно сформированный HTML; это XML или XHTML:

Путаница объясняется здесь: http://www.cs.tut.fi/~jkorpela/html/empty.html

innerHTML это именно то - HTML. Вы можете создавать XML из DOM - попробуйте здесь для начала: http://www.devarticles.com/c/a/JavaScript/More-on-JavaScript-and-XML/

0 голосов
/ 28 августа 2009

Основная проблема в том, что в HTML нет понятия правильности.

Я предполагаю, что вы читаете HTML с помощью innerHTML (который получает сериализацию DOM) и испытываете проблемы с Internet Explorer.

IE не поддерживает XHTML, и его внутреннее представление основано на HTML. Что хорошо сформировано в XHTML, так это ошибка в HTML, поэтому результаты не совсем неожиданны.

Я предлагаю предварительно обработать данные на сервере (например, с помощью tidylib), чтобы преобразовать их из HTML в XHTML.

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