Internet Explorer 11 се скрива от уебсайтове
След неотдавнашното издание на първата предварителна версия наInternet Explorer 11 на платформата Windows 8.1, можете да забележите, в допълнение към появата на такава вкусна функционалност като WebGL, предварително зареждане на данни, поддръжка за FlexBox, SPDY и други уеб стандарти искриване на идентификацията на браузъра като IE.
Преди това имаше слухове, че браузърът Internet Explorer сега добавя информация "като Gecko" към низа на потребителския агент, предаван на сървъра, а сега IE11 изпраща следната променлива на потребителския агент на сървъра:
Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) като Gecko
Точно така, версията за предварителен преглед на IE11 не добавя „MSIE“ или информация за IE към низа на потребителския агент, както беше в IE10 и всички предишни версии, поради което много уебсайтове, които преди са определяли браузъра, използвайки този низ, вече няма да третират IE като браузър на трета страна, но ще го обработват в „общия“ поток. Струва си да се отбележи, че ранните компилации на IE 11 (предварителен преглед) имаха пълен низ на потребителски агент, използващ IE11 ID.
- navigator.appName връща "Netscape".
- navigator.product връща "Gecko".
Друг често използван метод attachEvent е премахнат от Internet Explorer 11, както и detachEvent, препоръчва се да се използва добре разпознатият еквивалент на addEventListener.
В допълнение, следните функции са премахнати:
- window.execScript() е подобен на eval().
- window.doScroll() - превъртане на страници в IE.
- script.onreadystatechange - проверка на готовността на скриптовете.
- script.readyState - проверка за зареждане на скрипт.
- document.selection - вземете избрания текст.
- document.createStyleSheet - Добавяне на нов стил.
- style.styleSheet - дефиниция на стил втип обект.
Всички подобни функции отдавна са описани и внедрени в съвременните браузъри, които IE вече поддържа, поради което остатъците от миналото ще бъдат премахнати от браузъра.
Microsoft тръгна по доста сложен, но оригинален път, премахването на остарелите функции и методи е правилното решение от страна на компанията, но може да доведе до счупено състояние на много сайтове в IE.
Какво направи Microsoft? Замяната на низа на потребителския агент ви позволява да промените поведението на уебсайтове, които вече няма да идентифицират браузъра като IE и да го обработват съответно с отделни правила, но помислете, че това е браузър на Gecko двигателя и в резултат на това уебсайтовете ще работят правилно в новия IE11, но засега тази теория все още трябва да бъде тествана на практика, което Microsoft прави сега.
Подобен ход беше използванспециално в предварителния преглед на IE11, това рентабилно решение ще добави време за наблюдение и отстраняване на проблеми, които тестовата група (потребители, които изтеглят и инсталират Internet Explorer 11 Preview) може да има чрез тестване на новия подход - крайните потребители на окончателната версия на IE11 ще имат работещо решение.