Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Определение броузера (https://javascript.ru/forum/misc/13836-opredelenie-brouzera.html)

wolfinil 15.12.2010 19:05

Определение броузера
 
Вот хотел сделать функцию определения IE или FireFox при нажатии на кнопку. В ИЕ работает, а в Файрфоксе нет. Т.е. броузер определяется, но измение value и стиля кнопки не происходит. Не знаю что не так. Помогите пожалуйста.
<script>
      function navBrowser() {
            var browser = navigator.appName;
//            document.write(browser);
            if (browser == 'Microsoft Internet Explorer') {
                Button1.value = 'Используется Microsoft Internet Explorer';
                Button1.style.color = 'Red';
            }
            else {
                Button1.value = 'Используется FireFox';
                Button1.style.color = 'Blue';
            }
        }
 </script>


Да наверное это вопрос о другом получился. Извините )

dmitriymar 15.12.2010 19:14

называя вещи своими именами и в ие не работает. просто ие игнорирует грубую ошибку или document.getElementById уже гдето присутствует ранее?

wolfinil 15.12.2010 19:15

а где она, ошибка-то?

bushstas 15.12.2010 19:21

Вложений: 1
скачай данный скрипт и прицепи к странице
<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
<script>

function navBrowser() {

Button1=document.getElementById('button1') // корректнее приписать это

if (typeof($.browser.mozilla)!= 'undefined') {
Button1.value = 'Mozilla';
Button1.style.color = '#0042ff';
}

if (typeof($.browser.opera)!= 'undefined') {
Button1.value = 'Opera';
Button1.style.color = '#6db22f';
}

if (typeof($.browser.msie)!= 'undefined') {
Button1.value = 'Microshit Interhead Exploder';
Button1.style.color = '#ff0000';
}

// и цвета словами тоже не все браузеры понимают если я не ошибаюсь лучше кодом указывать #000000

}

wolfinil 15.12.2010 19:24

угу, понял что не получил элемент для операций с ним. спасибо за помощь.

bushstas 15.12.2010 19:28

просто еще в твоем коде if IE else Mozilla а если еще другой браузер
у меня navigator.appName в мозилле выдает NetScape

dmitriymar 15.12.2010 19:30

bushstas,
да ну зачем джиквери для простых вещей?кста в твоём анимированном импуте есть баг-кликни по нему пустому несколько раз мышей

wolfinil 15.12.2010 19:33

Цитата:

Сообщение от bushstas (Сообщение 84046)
у меня navigator.appName в мозилле выдает NetScape

Netscape разработчик у которого раньше был одноименный броузер, а теперь их проект FireFox. Думаю такое объяснение

monolithed 15.12.2010 20:51

Цитата:

Сообщение от bushstas
скачай данный скрипт и прицепи к странице

Цитата:

Сообщение от dmitriymar
да ну зачем джиквери для простых вещей?

Советовать новичкам использовать jQuery преступление века!
Цитата:

Сообщение от wolfinil
Netscape разработчик у которого раньше был одноименный броузер, а теперь их проект FireFox. Думаю такое объяснение

Небольшой экскурс в историю:
Netscape Communications когда-то выпустили богом забытый (и мной тоже) Netscape Navigator/Communicator, затем после того как NN стал сдавать позиции IE, было принято решение о частичном рефакториге кода и выпуск свободной лицензии, для этого создали т.н. Mozilla Organization (Mozilla - кодовое имя одной из сборок NN), затем дела у Netscape шли все хуже и хуже и они решили полностью переписать код NN и в 2003 г. создать проект Mozilla Foundation, который сейчас выпускает браузер/

Свойство userAgent содержит с значения свойств appName, appVersion и еще кучу всего. Т.к. формат свойства userAgent не стандартизован в IE и Safari исторически сложилось, что название (то с чего начинается) браузера соответствует Mozilla! Это происходит потому
разработчикам браузеров когда-то не охота было рыть код определяющий значения этих свойств, решили так сказать продолжить традицию

выполните в IE, Safari:
alert(navigator.userAgent);


кстати, есть пара очень коротких способов определить IE:

var isMSIE !+"\v1"
var isMSIE = /*@cc_on!@*/!1;

bushstas 15.12.2010 20:52

про баг знаю там их тонны ))))
работать и работать )))

dmitriymar 15.12.2010 21:13

Цитата:

Сообщение от bushstas
про баг знаю там их тонны ))))
работать и работать )))

а смысл делать что то очень ёмкое в замен того что занимает байты. у нас в городе -городской сайт-лидер по посещениям. но многие не заходят туда изза его медлительности или заходят через линукс.
www.0629.com.ua
и проблема именно в том что там джиквери очень активно используется

monolithed 15.12.2010 21:55

Цитата:

Сообщение от dmitriymar
и проблема именно в том что там джиквери очень активно используется

Поверьте на слово, jQuery тут не причем и на скорость загрузки сайта если у разработчиков прямые руки влияет минимально, это даже не почувствуешь (если не с телефона сидеть).

Странно что вы не берете во внимание:
45 флеш баннеров, не считая прочей рекламы. А скорость загрузки с отключенным JS и Flash при скорости соединения 8мб - 17,67 сек. количество запросов - 117 (без JS и Flash) причем вес страницы без flash - 841.8 KB!

dmitriymar 15.12.2010 22:35

всё мож быть-у нас в городе скорости сравнительно низкие. но сайты написанные с использованием джиквери работают гораздо медленнее чем без него. на высоких скоростях это не видно а на таких как у нас заметно и очень.может это субъективное ощущение -медлительность инета+"плавность"(добавлени е визуальных эффектов) джиквери...но ранее когда было тоже самое на сайте да и у инета скорости были ниже чем сейчас-он был быстрее. ну и почти 200 кв библиотеки джиквери его быстрее не делают...

monolithed 15.12.2010 22:50

Цитата:

Сообщение от dmitriymar
но сайты написанные с использованием джиквери работают гораздо медленнее чем без него

это предрассудки

Цитата:

Сообщение от dmitriymar
200 кв библиотеки джиквери его быстрее не делают...

26kb (в gzip) - средний вес одной картинки, что там замедлит?

К тому же я написал выше, что зашел на ваш сайт с отключенным JS и Flash и то 17 сек ждал пока сайт загрузится, я даже боюсь представить что было бы если у меня Flash был активен, 50 роликов (я такое впервые видел), это же несколько мегабайт мусора

dmitriymar 15.12.2010 23:07

не знаю какой у вас пинг-у меня он грузится в среднем секунд 5-6. с флеш и скриптами. и скорость низкая всего 2 мв.хотя он ориентирован конечно в первую очередь на город. хотя его его владелец и хостер основной в городе и говорит что трафик по украине и снг одинаковый... так что не знаю..

dmitriymar 15.12.2010 23:09

сайт не мой)) знаю владельца -но чего то чуйка что он на основе какогото бесплатного движка.


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