HTMLite body в head
От: Велимир Россия  
Дата: 21.10.10 11:27
Оценка:
Доброго времени суток!

Использую HTMLite для работы с dom.

Возникла неприятная проблема. Если загрузить HTMLite'ом файл со структурой по типу:
<html>
    <head>
        <style>
    </style><span></span>
</head>
<body></body>
</html>

а затем взять html у корневого элемента:
element root = doc.getRootElement();
json::astring html = root.get_html();

То можно увидеть, что body переместился в head.

Если же убрать <span></span> из head, то все работает корректно.

Спасибо.
htmlite body head htmlayout span
Re: HTMLite body в head
От: Велимир Россия  
Дата: 21.10.10 11:40
Оценка:
на версиях 3.3.2.14, 3.3.2.1 — можно увидеть проблему
на версии 3.3.1.43 — проблема не воспроизводится
Re: HTMLite body в head
От: c-smile Канада http://terrainformatica.com
Дата: 21.10.10 19:36
Оценка:
Здравствуйте, Велимир, Вы писали:

В>Если же убрать <span></span> из head, то все работает корректно.


Это поведение by definition. <span>text</span> это inline элемент. <head> не может содержать напрямую inlines. <body> может. Поэтому я его и создаю.

Или так:
<head>
  <p>...</p>
<head>

или если нужен точно span то так:
<head>
<p><span>...</span></p>
<head>

Вот пример в Sciter:

<html>
<head>
  <style></style>  
  <script type="text/tiscript">
    function self.ready()
    {
      stdout.println(self.html);
    }
  </script>  
  <p><span>Hello world!</span></p>
</head>
<body>
</body>
</html>
Re[2]: HTMLite body в head
От: Велимир Россия  
Дата: 26.10.10 07:06
Оценка:
Здравствуйте, c-smile, Вы писали:
CS>Это поведение by definition. <span>text</span> это inline элемент. <head> не может содержать напрямую inlines. <body> может. Поэтому я его и создаю.

Но как это решает проблему? Если при этом inline элементы остаются в head'e, а body просто перемещается в head.
Почему бы не выносить все inline элементы в body?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.