BAPS (browser and plugin sniffer)
BAPS, apart from being an acronym chosen purely for its its puerile humour, stands for browser and plugin sniffer - and I've just posted it in the scripts section.
As promised earlier this week, this is a utility to accurately detect information about the user's environment, such as browser name, version, language and installed plugins.
This is an area that is famously annoying, since different browsers expose different information to the Javascript's native navigator object, which exists to tell developers about the user's environment. Thus, it's never been standardised.
BAPS clears this up, as it caters for browsers' inconsistencies. It caters, for example, with the fact that Opera 11.52 declares itself as Opera 9.8. And for the fact that Chrome declares itself as, er, Netscape.
It sets a global variable, baps, which is an object containing various information about the user's environment, such as browser, version, language and plugins.
In terms of plugins, it detects Flash, WMP and QuickTime, but you can easily extend it to look for more.
Head over here to download, get usage info or view a demo.
post a commentRoundup: animated table sort / browser sniffing
With the exception of Blockster, the most popular script I've ever posted is my animated table sorter.
Which is rather odd, since as far as I'm aware it's buggy. Somehow, though, if the comments and e-mails are anything to go by, loads of people have been able to use it just fine.
Given this unexpected popularity I'm going to attempt to rebuild it in the coming months.
This script is among the top five hardest scripts I've written, so I'll, er, look forward to that.
In other news, stay tuned for my next script, later this week - a browser and plugin sniffer.
Browser sniffing is one of those things that you can't believe there still isn't a standard way of doing. Even jQuery's $.browser utility comes with a load of caveats warning that results might not be as expected.
And it's little wonder. Different browsers declare different, non-standard data in the various properties of the navigator object. Over the years these have led to some amusing revelations; if you ask Chrome what its navigator.appName is you'll get... Netscape. Naturally.
So I've been labouring away on a script that will provide you with something representing a reliable utility for this sort of thing. Not only with regards to detecting browser name but also other info such as language (more on that later...) and plugin support (and on that...).
post a comment