На нашей странице индекса у нас есть скрипт для перенаправления пользователей, которые находятся на смартфонах (iPhone, Android & Windows Phone) на наш мобильный сайт. Техника мы используем:IE9 ошибочно перенаправляет на мобильный сайт
if (navigator.userAgent.match(/iPhone/) && ! navigator.userAgent.match(/iPad/)) {
window.location="mobile.html";
}
else if (navigator.userAgent.match(/Android/) && ! navigator.userAgent.match(/Android 3/)) {
window.location="mobile.html";
}
else if (navigator.userAgent.match(/Windows Phone/) || navigator.userAgent.match(/Zune/)) {
window.location="mobile.html";
}
Все работало отлично, пока мы не проверили это на IE9, который по какой-то причине перенаправляет на мобильный сайт, даже если его UserAgent не содержит какой-либо из приведенных выше строк. UserAgent для IE9 является:
Mozilla/5.0 (совместимый; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
IE8 не ведет себя так и не делает любой другой платформы. Является ли сценарий неправильным или IE снова ударил с его мстительным douchebaggery? Благодарю.
Если вы отлаживая код, вы можете увидеть, в какой из них он попадает? – Adam
@ RMX - Я согласен с Адамом. Попробуйте выпустить 'console.log (navigator.userAgent);' в каждой структуре управления, чтобы определить, какое условие сопоставляется, и точно, что сообщает userAgent. – jaredhoyt