Ориентация на определенные браузеры всегда является проблемой. Хотя есть определенные способы сделать это, это не особенно удобный способ сделать это, потому что есть много разных браузеров и версий каждого браузера, и эти браузеры меняются со временем, таким образом, какие браузеры оптимизированы, с помощью которых код может изменять все время. Это создает довольно головную боль. Например, мобильный Safari на iPod Touch имеет очень разные характеристики производительности, чем мобильный Safari на каждом поколении iPhone или iPad.
Так что ... вместо того, чтобы пытаться обнаружить тип браузера, гораздо лучше либо обнаруживать функции, либо обнаруживать производительность, и динамически корректировать, исходя из того, как реагирует любой данный браузер. Сделано правильно, это может работать одинаково хорошо для всех браузеров, даже браузеров, которых вы никогда не видели или которые еще не выпущены.
В вашем случае вы можете разработать быстрый тест производительности, который проверяет эффективность каждого из ваших двух методов. Если между этими двумя методами действительно существует большая разница в производительности, тогда вы, вероятно, можете сказать разницу в течение нескольких сотен миллисекунд, установите cookie в локальном браузере, указав метод, который лучше всего работает, а затем просто используйте предпочтительный метод в этом браузера с этого момента. Если бы вы этого захотели, вы могли бы позволить файлу cookie истекать каждые несколько месяцев (чтобы он периодически тестировался), или вы могли бы добавить точную версию браузера в куки-файл и повторно запустить тесты и установить новый файл cookie, если браузер каждая версия изменена (обновление программного обеспечения).
Таким образом, ваш код всегда будет использовать самую быструю версию вашего кода во всех браузерах, теперь и навсегда, без необходимости поддерживать/тестировать zillions браузеров, чтобы знать, что должно использоваться для каждого.
это может помочь вам обнаружить мобильный сафари: HTTP: //alan.edward.es/posts/detecting-the-awes omeness-что-это-мобильный-сафари / –