Хорошо, это краевой кейс, который мне удалось приземлиться. Я тестирую свое приложение на новой операционной системе Tizen. В моем JS-коде есть тысячи проверок навигатора. Что-то вроде:Как установить навигатор userAgent?
navigator.userAgent.toLocaleLowerCase().indexOf("android") || navigator.userAgent.toLocaleLowerCase().indexOf("iPad")
Теперь пользователь userAgent Tizen OS на моем тестовом устройстве не имеет ни одной из этих строк. В результате многие мои css и JS ломаются. Я сейчас в режиме POC и не хочу тратить время на добавление дополнительной проверки ко всем этим условиям. Есть ли способ программно установить userAgent? Что-то вдоль линий:
navigator.userAgent += " Tizen" //does not work.
MDN говорит свою собственность на чтение-запись. Однако я не могу его модифицировать. Помогите мне с этим. Или другой умный способ подделать userAgent или правильный способ установить это. Благодарю.
Это очень плохой подход. Даже в цитированной вами статье MDN четко сказано: «Идентификация браузера, основанная на обнаружении строки пользовательского агента, ненадежна и не рекомендуется (...)». Обнаружение функции намного проще и безопаснее. Также, возможно, подумайте об использовании [Modernizr] (http://modernizr.com/). – MMM
btw: '.toLocaleLowerCase(). IndexOf (« iPad »)' наверняка никогда не сработает, не так ли? «iPad» - это не нижний регистр. – Spudley
@Spudley: да, это моя опечатка. –