Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Navigator. как лучше пользоваться? (https://javascript.ru/forum/misc/31684-navigator-kak-luchshe-polzovatsya.html)

devote 17.09.2012 12:23

Цитата:

Сообщение от Дзен-трансгуманист
Насколько я знаю, определять браузер лучше по его функционалу

вот именно, что браузер вообще определять не нужно... нужно писать код из расчета того что в нем есть... сегодня может что-то в нем и нет, а завтра может появится... и все эти агенты совершенно ни к чему..

melky 17.09.2012 12:27

Цитата:

Сообщение от devote
вот именно, что браузер вообще определять не нужно... нужно писать код из расчета того что в нем есть... сегодня может что-то в нем и нет, а завтра может появится... и все эти агенты совершенно ни к чему..

согласен. если определение браузера происходит для определения фич, то так делать нельзя.

Riim 17.09.2012 14:01

Цитата:

Сообщение от devote
вот именно, что браузер вообще определять не нужно... нужно писать код из расчета того что в нем есть... сегодня может что-то в нем и нет, а завтра может появится... и все эти агенты совершенно ни к чему

+1, определять браузеры обычно для сбора статистики нужно.

bes 18.09.2012 11:14

Цитата:

Сообщение от Maxmaxmахimus
Как он вопрос сформировал так и надо отвечать.

Max-s, ты ли это? не узнаю :D

devote 18.09.2012 11:19

Цитата:

Сообщение от Maxmaxmахimus
например, в опере при скроллинге направление скроллинга выдается не правильное , там -1 заменен на 1.

И в какой это опере? что-то ни разу не сталкивался с проблемами колеса мыши

devote 18.09.2012 11:38

Цитата:

Сообщение от Maxmaxmахimus
Или таких "багов" не существует по твоему?

ну с колесом мыши у оперы я проблем не наблюдал за все время своей работы в сфере веб-разработок.

А насчет багов, эти проблемы как правило всегда можно решить без определения браузеров и цепляния к ним. Любой Баг/Фичу всегда можно выделить. Для этого при инициализации библиотеки(своей или любой другой, например джуквери), происходит тестирование браузера на те или иные баги... И этот способ дает возможность работать правильно браузеру потом, когда будет исправлен баг.. А привязка к браузеру/агенту не даст возможность работать потом корректно, даже если баг будет убран.

dmitry111 18.09.2012 15:14

Цитата:

Сообщение от Maxmaxmахimus (Сообщение 205268)
например, в опере при скроллинге направление скроллинга выдается не правильное , там -1 заменен на 1. Вопрос как это тестировать???? по моему лучше для оперы сделать сразу фикс.

это не в опере, а в firefox.

dmitry111 18.09.2012 15:27

Вот какой способ определения типа браузера и версии предлагает Флэнаган в 6-м издании:

var browser = (function() {
    var s = navigator.userAgent.toLowerCase();
    var match = /(webkit)[ \/]([\w.]+)/.exec(s) ||
    /(opera)(?:.*version)?[ \/]([\w.]+)/.exec(s) ||
    /(msie) ([/w.]+)/.exec(s) ||
    !/compatible/.test(s) && /(mozilla)(?:.*? rv:([\w.]+))?/.exec(s) ||
    [];
    return { name: match[1] || "", version: match[2] || "0" };
}());


Часовой пояс GMT +3, время: 07:29.