Можно ли установить и проверить режим совместимости в IE8 с помощью VBScript?
Режим совместимости в IE8 с использованием VBScript
Ответ 1
В соответствии со статьей Определение совместимости документов, document.documentMode, который возвращает режим совместимости текущей страницы в IE8. Например, вы можете ввести это в адресную строку IE8, чтобы отобразить значение режима совместимости в окне сообщения:
vbscript:msgbox(document.documentMode)
Что касается динамического изменения режима совместимости... Вероятно, вы можете перебирать все метатеги и изменять содержимое X-UA-совместимого заголовка http-equiv, как в следующем примере, но у меня нет IE 8, поэтому не могу сказать, действительно ли это работает.
Sub ChangeCompatMode
Dim metatags, meta
Set metatags = document.getElementsByTagName("meta")
For Each meta In metatags
If UCase(meta.getAttribute("httpEquiv")) = "X-UA-COMPATIBLE" Then
' Change the document mode
meta.setAttribute "content", "IE=edge"
Exit For
End If
Next
End Sub
Ответ 2
Для части "настройки"... поскольку вы управляете кодом, переданным в браузер, вы определяете, в каком режиме он переходит.
Если вам нужна правильная поддержка стандартов, установите действующий DOCTYPE, и вы настроены. Если вы хотите, вы также можете настроить META или HTTP Header на принудительный режим стандартов, чтобы конечный пользователь не мог случайно застрелить себя в ноге, установив его в режим совместимости.
С другой стороны, если у вас есть унаследованный сайт, для которого требуются IE для рендеринга/сценариев поведения IE, отправьте META/HTTP Header для принудительного режима совместимости.
Попытка изменить это на лету... просит неприятностей.