1
0
mirror of https://github.com/lancedikson/bowser synced 2026-03-02 03:40:27 +00:00
Martino di Filippo 601eac6897 Avoid exception when unable to match UA
Make detect() return an empty object if it hasn't matched any known browser, so that graded browser support (and any external code using this library) doesn't raise a "Cannot read property ... of undefined" exception
2013-06-27 19:41:01 +02:00
2012-02-07 11:00:32 -08:00
2011-04-27 15:14:35 -07:00
2012-07-18 18:45:20 +01:00
2012-04-16 18:54:24 -07:00
2011-04-27 15:14:35 -07:00
2012-04-16 18:54:24 -07:00
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)
}
Description
No description provided
Readme 18 MiB
Languages
JavaScript 100%