Skip to main content
Version: v1

Browser Support

All modern browsers are supported, on both mobile and desktop, all releases up to at least 8 years old. That includes Safari, Edge, Chrome, Firefox, and Opera. Internet Explorer 11 also works, with some sidenotes (see the section below). See the targeted browserlist compatible browsers.

Polyfills​

If you want to support browsers over 5 years old, you will need some polyfills (fetch, Promise, URL and Object.assign).

You can use the build that includes the polyfills:

<script
type="module"
src="https://cdn.jsdelivr.net/npm/[email protected]/widget.module.min.js"
async
defer
></script>
<script
nomodule
src="https://cdn.jsdelivr.net/npm/[email protected]/widget.polyfilled.min.js"
async
defer
></script>

Or you can include the polyfills manually:

<script src="https://cdn.jsdelivr.net/npm/promise-polyfill@8/dist/polyfill.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/url-polyfill.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]"></script>

If you find any compatibility issues please create a Github issue.

Compatibility mode for the library​

If you are importing friendly-challenge into your own bundle and want to support old browsers (those that don't support ES2017) you should change your imports to be from friendly-challenge/compat. For example:

import {WidgetInstance} from 'friendly-challenge'
// change to
import {WidgetInstance} from 'friendly-challenge/compat'

Both imports are ES2017, use a tool like Babel to transpile it to ES5 or lower. The difference between these two imports is the webworker script which is included as a string. In the compat build it is ES5 compatible and includes necessary polyfills (at the cost of slighlty worse performance and an extra 3KB bundle size).

Old browser speed​

The Javascript engine in old browsers is generally slower than modern ones, the CAPTCHA may take a minute to solve on very old browsers (>5 years old).

NoScript​

Users need to have Javascript enabled to solve the CAPTCHA. We recommend you add a note for users that have Javascript disabled by default:

<noscript>You need Javascript for CAPTCHA verification to submit this form.</noscript>

This will only be visible to users without Javascript enabled.

Internet Explorer​

Internet Explorer 11 is supported out of the box, but take note that the Javascript engine is very slow in Internet Explorer leading to a poor user experience: the CAPTCHA will likely take more than a minute to solve.

Consider displaying a message to IE users that they should use a different browser. You can use this Javascript snippet to display a note after the widget in Internet Explorer only:

if (!!document.documentMode) {
// Only true in Internet Explorer
Array.prototype.slice.call(document.querySelectorAll(".frc-captcha")).forEach(function (element) {
var messageElement = document.createElement("p");
messageElement.innerHTML =
"The anti-robot check works better and faster in modern browsers such as Edge, Firefox, or Chrome. Please consider updating your browser";
element.parentNode.insertBefore(messageElement, element.nextSibling);
});
}