@medmain/ensure-browser

0.1.2 • Public • Published

ensure-browser package

A simple script to be included in Medmain web applications, to ensure that the browser is supported.

If the browser is not supported, an error message is displayed and the React application is not rendered.

How to use it

Step 1

In index.html:

  • Include a <script> tag to load it from a CDN
  • Call ensureBrowser(browsers) function to specify the supported browsers.
<script
  crossorigin
  src="https://unpkg.com/@medmain/ensure-browser@0.1.0/dist/browser/ensure-browser.js"
></script>
<script>
  window.IS_SUPPORTED_BROWSER = window.ensureBrowser([
    {name: 'firefox', version: '10'},
    {name: 'chrome', version: '20'}
  ]);
</script>

Optional: in addition of the name property, specify a displayName to customize the way the supported browsers are displayed in the error message.

Step 2

In src/index.js, don't render the application if the browser is not supported.

if (window.IS_SUPPORTED_BROWSER === false) {
  throw new Error('Your browser is not supported!');
}

(async () => {
  let element;
  try {
    await app.initialize();
    element = (
      <BaseRoot app={app}>
        <Root />
      </BaseRoot>
    );
  } catch (err) {
    console.error(err);
    element = renderError(err);
  }

  ReactDOM.render(element, document.getElementById('main'));
})();

Available browser names

The name property of the supported browsers can be one of the following values:

  • chrome
  • chrome mobile
  • electron
  • firefox
  • firefox for ios
  • ie
  • microsoft edge
  • phantomjs
  • safari
  • seamonkey
  • silk
  • opera mini
  • opera

This list was extracted from Platform.js v1.3.5 code. All names were converted to lower case.

Readme

Keywords

none

Package Sidebar

Install

npm i @medmain/ensure-browser

Weekly Downloads

4

Version

0.1.2

License

none

Unpacked Size

31.8 kB

Total Files

9

Last publish

Collaborators

  • tkengo
  • michaelrambeau
  • mvila
  • ezrh00