как различить стандартный и странный режим документа для IE10

0

Я должен проверить, когда пользователь выбрал Quirks или стандартный режим документа из инструмента разработчика для IE10. Используя приведенный ниже код, я всегда получаю одинаковое значение, т.е. 10 для обоих режимов.

document.documentMode

Пожалуйста, дайте мне знать, как я могу различать два режима документа в IE10. Я использую javascript для того же самого.

  • 0
    Для чего вам это нужно? Если ваша страница имеет действительный тип документа, она никогда не должна переходить в режим причуд, если пользователь не перейдет к инструментам разработки и не изменит его вручную. Честно говоря, если он это делает, он заслуживает всего, что получает.
Показать ещё 1 комментарий
Теги:
internet-explorer
internet-explorer-10

1 ответ

0
Лучший ответ

Я использовал приведенный ниже код, и все отлично работало. Это работает над всеми версиями IE (проверено и проверено :)).

//Checks the document mode of the IE and displays an error if the doc mode is not supported
function CheckDocMode() {

//Get the browser name
var browserName = navigator.appName;

//Do not display the Div containing the error message
document.getElementById('DocModeError').style.display = 'none';

//Check if the browser is IE
if (browserName == "Microsoft Internet Explorer") {

    //Get the IE version, document mode and complatibility mode
    var IEVersion = GetIEVersion();
    var IEDocMode = document.documentMode;
    var IECompatibilityMode = document.compatMode;

    //Confirm that the browser is IE8/9/10
    if (IEDocMode != undefined) {

        //Do not display the error message if the IE=10 and Doc Mode = Standard
        if ((IEVersion == 10 || IEVersion == 9 || IEVersion == 8 || IEVersion == 7)
            && (IEDocMode == 10 && IECompatibilityMode == "CSS1Compat")) {
            return;
        }

        //Display the error if the document mode is anything other than IE8 and IE9
        if (IEDocMode != 8 && IEDocMode != 9) {
            document.getElementById('DocModeError').style.display = 'block';
        }
    }
}
}

function GetIEVersion() {
    var myNav = navigator.userAgent.toLowerCase();
    return (myNav.indexOf('msie') != -1) ? parseInt(myNav.split('msie')[1]) : false;
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню