2011-04-27 22:14:35 +00:00
Bowser
------
2011-04-27 23:25:55 +00:00
A Browser detector. Because sometimes, there is no other way, and not even good modern browsers always provide good feature detection mechanisms.
2011-04-27 22:14:35 +00:00
2011-04-27 23:25:55 +00:00
So... it works like this:
2011-04-27 22:14:35 +00:00
2011-05-10 16:50:28 +00:00
``` js
if (bowser.msie & & bowser.version < = 6) {
alert('Hello China');
}
```
2011-04-27 22:14:35 +00:00
Detected Browsers
-----
* msie
* safari[webkit]
* chrome[webkit]
* firefox[gecko]
* opera
Notes
----
2011-05-10 16:50:28 +00:00
Safari, Chrome, and Firefox will report that they have webkit|gecko engines
2011-04-27 22:14:35 +00:00
2011-05-10 16:50:28 +00:00
``` js
if (bowser.webkit) {
// do stuff with safari & chrome
}
```
2011-04-27 22:14:35 +00:00
Ender installation
-----
If you don't already have [Ender ](http://ender.no.de ) (an npm package) install it now (and don't look back)
$ npm install ender
then add bowser to your module collection
$ ender add bowser
use it like this:
2011-05-10 16:50:28 +00:00
``` js
if ($.browser.chrome) {
alert('Hello Silicon Valley');
}
```
Graded Browser Support
---------
One useful feature of Bowser is that aside from checking one browser from another -- it will keep up to date with [Yahoo's Graded Browser Support ](http://developer.yahoo.com/yui/articles/gbs/ ) chart, giving you access to each grade on the bowser object
``` js
if (bowser.a) {
// support full feature set
}
else if (bowser.c) {
// serve degraded version
}
else {
// unsupported (bowser.x)
2014-01-26 22:43:17 +00:00
}
2014-01-29 08:18:45 +00:00
```
2014-01-26 22:43:17 +00:00
Building
---------
If you'd like to contribute a change to bowser, modify the files in src/, then run the following (you'll need node + npm installed):
$ npm install
$ make