Определяем осла (ie)

Долго искал как скрипт запускать на ie , находил решения ,  но они все были для версий младше 10 , в 11 он вообще  косит под Mozilla

Вот ,  вроде универсальный :

var ua = window.navigator.userAgent.toLowerCase(),
is_ie = (/trident/gi).test(ua) || (/msie/gi).test(ua);
//test
if(is_ie){
    console.info(ua);
    console.info('ieeeeeeeeeeeeeeeeeeeeee');
}

 

Пример вертикальной центровки для ie (с учетом того что контейнера имеют высоту )

(function ($) {
//
    var ua = window.navigator.userAgent.toLowerCase(),
            is_ie = (/trident/gi).test(ua) || (/msie/gi).test(ua);
//test
    if (is_ie) {
        console.info(ua);
        console.info('ieeeeeeeeeeeeeeeeeeeeee');

        var title = $(' .centeredText');

        var img = $('.imgContainer img');

        for (i = 0; i < title.length; i++) {
            verticalAligin(title[i]);
        }
        
        for (i = 0; i < img.length; i++) {
            verticalAligin(img[i]);
        }

        function verticalAligin(el) {
            var elHeight = $(el).outerHeight();//Размер снаружи без margin
            var elWitdth = $(el).outerWidth();
            var args={"position":"absolute","display":"inline-block"};
            
            console.info("Содержимое  (размер снаружи ):\n w = "+ elWitdth+"\n h = "+ elHeight );
            
            var parentHeight = $(el).parents().height();//размер внутри 
            var parentwidth = $(el).parents().width();//размер внутри 
            console.info("Контейнер (размер внутри):\n w = "+ parentwidth+"\n h = "+ parentHeight );
            
            var margin_el_left = Math.floor( (parentwidth - elWitdth)/2);
            var margin_el_top = Math.floor((parentHeight - elHeight )/2);
            if(margin_el_left < 0){
                margin_el_left = 0 ;
            }
            args["left"]=margin_el_left;
           
            if(margin_el_top < 0){
                margin_el_top = 0 ;
            }
            args["margin-top"]=margin_el_top;
            

            $(el).css(args);
        }


    }

}(jQuery));

Для того чтобы IE не включал режим совместимости со старыми версиями , нужно добавить в заголовок

<meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1" />

 или для WP

add_action("wp_head", function (){
    echo '<meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1" />';
});

 

Leave a Reply

Your email address will not be published. Required fields are marked *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.