Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   browser detect, DOM Templates, create SWF — немного моих плюшек для jQuery (https://javascript.ru/forum/project/10612-browser-detect-dom-templates-create-swf-%E2%80%94-nemnogo-moikh-plyushek-dlya-jquery.html)

vflash 12.07.2010 14:34

browser detect, DOM Templates, create SWF — немного моих плюшек для jQuery
 
чуть подробнее описал на хабре http://vflash.habrahabr.ru/blog/98849/

код — http://vflash.ru/rr2jquery/src/rr2jquery.js
пример — http://vflash.ru/rr2jquery/, http://vflash.ru/rr2jquery/demo_pager.html

интересно мнение тех кто пишет на js. может кто возмет на вооружение тогда и документацию не лень будет написать. также приветствуются баги и объективная критика.

Octane 12.07.2010 15:16

Однобуквенные переменные… Дальше даже смотреть не стал.

vflash 12.07.2010 15:30

Octane, и ?

Kolyaj 12.07.2010 15:31

Цитата:

особенность идеи в использовании NaN.
Что значит сия фраза?

vflash 12.07.2010 15:38

ну смотрите если у вас браузер на основе gecko то переменная $.IE будет равна NaN. и любые условия ($.IE<8 || $.IE || $.IE>8 итд) вернут false, если бы $.IE был равен просто false то $.IE<8 выдал бы true. те переменную $.IE можно использовать не просто как флаг (true|false) но и использовать в выражениях.

вообше про этот способ писал самой первой записью в блогах на javascript.ru , года 2 или 3 назад

Riim 12.07.2010 16:00

выражение - расшифровка (моя)
$.IE = undefined - браузер IE версию которого определить не удалось.
$.IE = NaN - браузер IE имеющий не числовую версию, например, alfa.
$.IE = null - свойство является пустотой, оно не существует. Оно и не может существовать, потому как не существует объект который должен его содержать (т. е. IE).

Логически правильный вариант именно null. Это, наверное, можно назвать семантикой в javascript-е.

vflash 12.07.2010 16:16

Riim, вы чегота не поняли. какая нафиг симантика.
что проше if($.browser.msie && $.browser.version<8) или if($.IE<8)
ито $.browser.version это строка, ее еше нужно преобразовать. а в других браузерах $.browser.version вообше бесполезна.

Riim 12.07.2010 16:46

Цитата:

Сообщение от vflash
какая нафиг симантика

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

Octane 12.07.2010 16:49

Цитата:

Сообщение от vflash
что проше if($.browser.msie && $.browser.version<8) или if($.IE<8)

А зачем такая проверка вообще нужна?

Riim 12.07.2010 16:56

К тому же первая проверка как раз проще для понимания. Просто символов больше.


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