HTML5 Please API Identify Supported Browsers with Feature Detection

If you've created a demo or site that requires Canvas or WebSQL DB, you've been in the awkward situation of telling some of your visitors that their browser doesn't support those features. But you can't just recommend they get a browser with those features; for example, "Get a WebRTC capable browser" is pretty much useless to everyone.

The HTML5 Please API translates developer language (features) to user language (browsers). Call the API and you get back some HTML to show the user or a JSON object of the relevant data (with browser logos and all), so you can customize what you show to users.

The API stays updated thanks to data from caniuse.com so it remains accurate as browsers add support for more features. Read the backstory on this project

In action

on mothereffinganimatedgif.com

Page on a browser that support requested features
Page on a browser that does not support requested features

Get the widget

Are you using HTML5 features that are not available in all browsers and want to tell visitors with incompatible browers which browser to use to get the best experience of your site?

Enter features you use

How do you want to show this?

with browser

Here is your widget

Sample Widget View

How does it work?

Is the user's UA one of the browsers that offer these features?

The User's browser User Agent information is matched against this list of UAs and then based on the information collated from caniuse's data feed. If it supports the required features, we return a JSON object but no HTML, no message is displayed.

END

Else Is there a newer version of the user's browser supporting these features?

If so, the message links to the newer version of the user's browser asking them to view the page in the newer version of their current browser.

END

Else Is there any other stable browser that support these features?

If so, the widget links to all these stable browsers. If the user is viewing the page on desktop, it returns only desktop browsers. If user is viewing the page on mobile devices, it returns only mobile browsers that support these features.

In addition, for desktop browsers, if the user is on a non-windows machine, no IE recommendations will appear even if IE supports the required HTML5 features (as there is no supported version of IE on these platforms).

END

Reference

API Reference: Explanation of all the options you can use to make this API call.

Data Object Reference: Explanation of all the data returned by a call to this API.

Contribute

This is a community project. You can help by forking html5please-api and making it better. Please also file a ticket to start a discussion.