значение doctype в IE
Можно ли как-то получить значение DOCTYPE в IE? Или хотя бы его присутствие в документе?
|
alert(document.doctype.name) Тут null почему то, наверно тут js выполняется в iframe, а там нет его |
Нуль, потому что name лишнее. document.doctype, везде кроме IE работает. Мне нужна проверка на наличие DOCTYPE в IE.
|
document.doctype возвращает объект доктайп, а document.doctype.name его название. Я проверил в IE9 только, все работает, если document.doctype == null, Значит он не указан
|
IE ниже 9 вообще возвращает null или undefined. И мне главное определять его наличие. Его имя уже не так важно.
|
Как-то так
var isDoctype = function(el) { return /^(<!DOCTYPE|<\?xml)/i.test(el.text); }; var comments = targetDocument.getElementsByTagName('!'); for (var i = 0; isDoctype(comments[i]); i++) { doctype += comments[i].text; } Тут ещё выдёргиваются всякие xml-ные заголовки. |
Kolyaj,
Наверно не text а data или nodeValue Вариант для IE ... <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> </head> <body> <script type="text/javascript"> var Doctype =/CSS/.test(document.compatMode)&&document.getElementsByTagName('!')[0].data; document.write(Doctype) </script> </body> </html> |
Цитата:
|
Спасибо. Все гениальное просто)
|
Часовой пояс GMT +3, время: 13:01. |