Хорошо, моя глупая ошибка.
Оказывается, что тип документа искажается, потому что перед отправкой HTML-документа в веб-просмотр его обработали и добавили внутренний идентификатор ко всем тегам (этот внутренний идентификатор требуется для функций внутримое приложение)
но в случае, если кто-то испортит то же самое, что и я, и задаюсь вопросом, что происходит, я предложу длинное объяснение.
DOMDocumentType имеет несколько полей, среди которых естьname, publicId и systemId.
. Например, рассмотрим типичный HTML 4.01 переходный тип документа
, который можно разделить на
name = htmlpublicId = - // W3C // DTD XHTML 1.0 Transitional // ENsystemID = http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
, и вы можете добавить к нему пользовательский идентификатор до тех пор, пока сохраняется формат, например:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" CustomID="1">
, проблема с HTML 5 DOCTYPE заключается в том, что пока онвыглядит как a)
<!DOCTYPE html>
для DOM, фактически это b)
<!DOCTYPE html PUBLIC "" "">
Короче говоря, добавление моего CustomID = "1" в конце a) вызвалоDOM не распознает его как действительный DOCTYPE, следовательно, переключает мой WebView в режим причуд.Если вы хотите иметь HTML5 DOCTYPE и добавить к нему пользовательский идентификатор, вы должны сделать
<!DOCTYPE html PUBLIC "" "" CustomId="1">
w3schools.com, чтобы сообщить нам, что атрибут id недопустим в: base, head, html, meta,,сценарий, стиль и заголовок.
они должны предупредить нас о том, что при плохом размещении он также может испортить ваш DOCTYPE =)