значение 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, время: 17:39. |