Долго искал как скрипт запускать на ie , находил решения , но они все были для версий младше 10 , в 11 он вообще косит под Mozilla
Вот , вроде универсальный :
1 2 3 4 5 6 7 | 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 (с учетом того что контейнера имеют высоту )
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | (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 не включал режим совместимости со старыми версиями , нужно добавить в заголовок
1 | <meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1" /> |
или для WP
1 2 3 | add_action("wp_head", function (){ echo '<meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1" />'; }); |