annotate rhodecode/public/js/css_browser_selector.js @ 677:469108c210f6 beta

Upgrade of Yui2, added selector rollup.
author Marcin Kuzminski <marcin@python-works.com>
date Thu, 11 Nov 2010 01:40:59 +0000
parents 1e757ac98988
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1 /*
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
2 CSS Browser Selector v0.3.5 (Feb 05, 2010)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
3 Rafael Lima (http://rafael.adm.br)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
4 http://rafael.adm.br/css_browser_selector
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
5 License: http://creativecommons.org/licenses/by/2.5/
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
6 Contributors: http://rafael.adm.br/css_browser_selector#contributors
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
7 2. Set CSS attributes with the code of each browser/os you want to hack
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
8
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
9 Examples:
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
10
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
11 * html.gecko div#header { margin: 1em; }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
12 * .opera #header { margin: 1.2em; }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
13 * .ie .mylink { font-weight: bold; }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
14 * .mac.ie .mylink { font-weight: bold; }
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
15 * .[os].[browser] .mylink { font-weight: bold; } -> without space between .[os] and .[browser]
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
16
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
17 Available OS Codes [os]:
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
18
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
19 * win - Microsoft Windows
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
20 * linux - Linux (x11 and linux)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
21 * mac - Mac OS
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
22 * freebsd - FreeBSD
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
23 * ipod - iPod Touch
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
24 * iphone - iPhone
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
25 * webtv - WebTV
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
26 * mobile - J2ME Devices (ex: Opera mini)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
27
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
28 Available Browser Codes [browser]:
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
29
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
30 * ie - Internet Explorer (All versions)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
31 * ie8 - Internet Explorer 8.x
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
32 * ie7 - Internet Explorer 7.x
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
33 * ie6 - Internet Explorer 6.x
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
34 * ie5 - Internet Explorer 5.x
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
35 * gecko - Mozilla, Firefox (all versions), Camino
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
36 * ff2 - Firefox 2
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
37 * ff3 - Firefox 3
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
38 * ff3_5 - Firefox 3.5 new
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
39 * opera - Opera (All versions)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
40 * opera8 - Opera 8.x
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
41 * opera9 - Opera 9.x
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
42 * opera10 - Opera 10.x
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
43 * konqueror - Konqueror
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
44 * webkit or safari - Safari, NetNewsWire, OmniWeb, Shiira, Google Chrome
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
45 * safari3 - Safari 3.x
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
46 * chrome - Google Chrome
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
47 * iron - SRWare Iron new
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
48
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
49 */
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
50 function css_browser_selector(u){var ua = u.toLowerCase(),is=function(t){return ua.indexOf(t)>-1;},g='gecko',w='webkit',s='safari',o='opera',h=document.documentElement,b=[(!(/opera|webtv/i.test(ua))&&/msie\s(\d)/.test(ua))?('ie ie'+RegExp.$1):is('firefox/2')?g+' ff2':is('firefox/3.5')?g+' ff3 ff3_5':is('firefox/3')?g+' ff3':is('gecko/')?g:is('opera')?o+(/version\/(\d+)/.test(ua)?' '+o+RegExp.$1:(/opera(\s|\/)(\d+)/.test(ua)?' '+o+RegExp.$2:'')):is('konqueror')?'konqueror':is('chrome')?w+' chrome':is('iron')?w+' iron':is('applewebkit/')?w+' '+s+(/version\/(\d+)/.test(ua)?' '+s+RegExp.$1:''):is('mozilla/')?g:'',is('j2me')?'mobile':is('iphone')?'iphone':is('ipod')?'ipod':is('mac')?'mac':is('darwin')?'mac':is('webtv')?'webtv':is('win')?'win':is('freebsd')?'freebsd':(is('x11')||is('linux'))?'linux':'','js']; c = b.join(' '); h.className += ' '+c; return c;}; css_browser_selector(navigator.userAgent);