как я могу изменить DOCTYPE

кто-либо здесь знает, как я могу динамично изменить doctype с JavaScript?

я попробовал этой функцией,

document.doctype('<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">'); ,

но это не работает.

12
задан Sarfraz 30 June 2010 в 08:57
поделиться

3 ответа

Даже если бы вы могли, ваш код выполнялся бы после того, как страница уже решила отобразить, и в этом случае эффект от изменения doctype не будет ничем. Единственный способ, которым я могу представить современные браузеры, имеющие проблемы с типом документа, - это то, что вы полагаетесь на режим quirks в IE - исправьте свой дизайн, чтобы он работал во всех браузерах, кроме IE, а затем посмотрите на стили, специфичные для IE.

0
ответ дан 2 December 2019 в 19:30
поделиться

document.doctype - это свойство только для чтения, а не метод, по-видимому, согласно MDC.

Что вам нужно:

https://developer.mozilla.org/En/DOM/DOMImplementation.createDocumentType

Возвращает объект DocumentType, который можно либо использовать с DOMImplementation.createDocument при создании документа, либо они могут быть помещено в документ через Node.insertBefore () или Node.replaceChild ():

3
ответ дан 2 December 2019 в 19:30
поделиться

Не думаю, что ты сможешь. doctype указано как свойство в документации W3C, но доступно только для чтения. Даже если бы это было не так, я не могу себе представить, какой эффект это изменение имело бы в реальных браузерах.

Обратитесь к своим последующим комментариям: вам придется обрабатывать эту серверную часть и обслуживать страницу, адаптированную к целевому браузеру. Но вам не следует этого делать ни в каких случаях, кроме очень редких.

1
ответ дан 2 December 2019 в 19:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: