Мне нужно добавить определенную поддержку сенсорных устройств в текущем проекте. Поскольку это первый раз, когда я должен сделать что-то подобное, я взглянул на код некоторых «хорошо сделанных» веб-сайтов, чтобы увидеть, как они это делают.Обнаружение браузера JavaScript?
Одна страница делает что-то вроде этого:
if(document.querySelectorAll && (navigator.platform == "iPad" || navigator.platform.substring(0, 6) == "iPhone" || navigator.platform == "iPod" || navigator.userAgent.indexOf('Android') > -1)) {...}
я тестировал его на всех устройствах, у меня есть под рукой, и он работает, но, пожалуйста, скажите мне, это хорошо, чтобы сделать это таким образом? Есть ли «правильный» способ сделать это?
Я спрашиваю, потому что here Я читал, что следует избегать обнаружения браузера, вместо этого следует использовать обнаружение объекта. Теперь я вижу, что они также тестируют document.querySelectorAll
, который является обнаружением объекта, поэтому, возможно, все, что приходит после него, - это просто какая-то система безопасности?
Хороший звонок по этой последней ссылке. Обнаружение функции лучше, чем браузер, обнюхивающий IMO по причинам выше, но эта последняя ссылка является хорошим примером того, почему и как тестировать определенные функции. – Phix