mirror of
https://github.com/lancedikson/bowser
synced 2024-10-27 20:34:22 +00:00
2c4915f0b2
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, |
||
---|---|---|
make | ||
src | ||
.gitignore | ||
bowser.js | ||
bowser.min.js | ||
Makefile | ||
package.json | ||
README.md |
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)
}