1
0
mirror of https://github.com/lancedikson/bowser synced 2024-10-27 20:34:22 +00:00
Go to file
Dustin Diaz 23545d4403 Merge pull request #13 from wjlroe/phantom-js-user-agent
Add support for detecting PhantomJS
2012-07-18 11:10:29 -07:00
make - bump version for ios fix 2012-02-07 11:00:32 -08:00
src - add touchpad support 2012-04-16 18:54:24 -07: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)
}