1
0
mirror of https://github.com/lancedikson/bowser synced 2024-10-27 20:34:22 +00:00
Go to file
José F. Romaniello 2c4915f0b2 check first for commonjs rather than AMD
It will make a difference for me if this check first 
for common.js module system rather than AMD module system.

This is exactly as you do in other projects like qwery, bean, 
reqwest and bonzo.

Thanks,
2012-09-03 09:57:26 -03:00
make - bump version for ios fix 2012-02-07 11:00:32 -08:00
src check first for commonjs rather than AMD 2012-09-03 09:57:26 -03:00
.gitignore boosh 2011-04-27 15:14:35 -07:00
bowser.js Add support for detecting PhantomJS 2012-07-18 18:45:20 +01:00
bowser.min.js - add touchpad support 2012-04-16 18:54:24 -07:00
Makefile boosh 2011-04-27 15:14:35 -07:00
package.json - add touchpad support 2012-04-16 18:54:24 -07:00
README.md - adds graded support 2011-05-10 09:50:28 -07:00

Bowser

A Browser detector. Because sometimes, there is no other way, and not even good modern browsers always provide good feature detection mechanisms.

So... it works like this:

if (bowser.msie && bowser.version <= 6) {
  alert('Hello China');
}

Detected Browsers

  • msie
  • safari[webkit]
  • chrome[webkit]
  • firefox[gecko]
  • opera

Notes

Safari, Chrome, and Firefox will report that they have webkit|gecko engines

if (bowser.webkit) {
  // do stuff with safari & chrome
}

Ender installation

If you don't already have Ender (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:

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 chart, giving you access to each grade on the bowser object

if (bowser.a) {
  // support full feature set
}
else if (bowser.c) {
  // serve degraded version
}
else {
  // unsupported (bowser.x)
}