1
0
mirror of https://github.com/lancedikson/bowser synced 2024-10-27 20:34:22 +00:00
Go to file
Ferdi Schmidt 7f4376f262 Fixes two compatibility issues that makes bowser play nicer with others
When the 'define' function exists, bowser tried to register itself
against it. The problem is that it does not supply a name for the
definitation, causing it to be lost forever.

The second problem has to do with semi-colons. When the source file
is minified with uglify it breaks horibly. I've added ending semi-
colons where to ending control statements, which allows it to be
compatible with the majority of other compressors.
2013-09-03 15:33:33 +02:00
make rebuild and new relase for IE, Opera, & Phantom 2013-08-16 12:58:39 -07:00
src Fixes two compatibility issues that makes bowser play nicer with others 2013-09-03 15:33:33 +02:00
.gitignore boosh 2011-04-27 15:14:35 -07:00
bowser.js Fixes two compatibility issues that makes bowser play nicer with others 2013-09-03 15:33:33 +02:00
bowser.min.js Fixes two compatibility issues that makes bowser play nicer with others 2013-09-03 15:33:33 +02:00
Makefile boosh 2011-04-27 15:14:35 -07:00
package.json upgrade support 2013-08-16 13:03:14 -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)
}