Socket
Socket
Sign inDemoInstall

@nimiq/browser-warning

Package Overview
Dependencies
0
Maintainers
8
Versions
7
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @nimiq/browser-warning

Browser Warning for unsupported browsers


Version published
Weekly downloads
4
Maintainers
8
Install size
26.9 kB
Created
Weekly downloads
 

Readme

Source

Nimiq Browser Warnings

Javascipt, CSS and a html snippet to display a warning in case of unsupported browsers, private mode or disabled Javascript.

Installation

yarn add @nimiq/browser-warning

Usage

This is no modular package you can import. Instead:

  • Use e.g. CopyWebpackPlugin to copy files from dist folder to your app's root folder
  • Use e.g. HtmlWebpackPlugin to inject the HTML snippet into your app's index.html
  • In your index.html head section, place <script type="text/javascript" src="browser-warning.js" defer></script> in front of all other scripts which may execute, especially your app's main entry point. If your other scripts are not deferred, also remove the defer attribute on browser-warning.js.
  • In your app's main entry point logic, check for window.hasBrowserWarning === true and stop execution in that case.
  • If you're using typescript, add @nimiq/browser-warning to compilerOptions.types in your tsconfig.json.
  • It is recommended to serve your app via https as otherwise in-app web-views might not be correctly detected.

Configuration

You can define a callback window.onBrowserWarning that gets called in case of a browser warning with the warning type and a config object:

ParameterType
warningType'web-view' / 'browser-outdated' / 'no-local-storage' / 'private-mode'
warningConfig.headlinestring
warningConfig.messagestring
warningConfig.hasShareButtonboolean
warningConfig.shareUrlstring
warningConfig.useNativeShareboolean
warningConfig.shareInstructionsstring

It can then optionally return a configuration object that overwrites a subset or all of the configuration properties.

Note that window.onBrowserWarning needs to be defined before browser-warning.js is executed. This is therefore an exception to the rule stated in the previous section.

Note that the script that defines window.onBrowserWarning must be written in old-fashioned Javascript to not fail with syntax errors in old browsers which would prevent us from being able to display a warning in old browsers.

Contributing

Contributions are welcome! To build the code yourself run

yarn build

which minifies the code with Google's closure compiler. We are compiling with the compiler's SIMPLE compilation level as the ADVANCED level does not result in significantly smaller files for this lib, especially when comparing gzipped size. You therefore do not need to mind the special precautions that are required for the ADVANCED level.

Code does however need to be written in old-fashioned javascript to be compatible with old browsers. The closure compiler will warn you if your code is not valid ES3.

FAQs

Last updated on 02 Mar 2022

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc