UNPKG

offline-handler

Version:

Allow your users to use your website while offline easily

78 lines (61 loc) 2.31 kB
# OfflineHandler [(Demo)](https://zenoo.github.io/offline-app-example/) Allow your users to use your website while offline easily ### Doc * **Installation** Simply import `OfflineHandler.min.js` into your HTML **and** download <a href="https://raw.githubusercontent.com/Zenoo/offline-handler/master/OfflineHandler-sw.min.js" target="_blank">`OfflineHandler-sw.min.js`</a> **at the root of your project**. ``` <script src="https://unpkg.com/offline-handler@0.4.1/OfflineHandler.min.js"></script> ``` * **How to use** * Create a new [`OfflineHandler`](https://zenoo.github.io/offline-handler/OfflineHandler.html) object with the ressources to be cached as the first parameter : ``` let ajax = new OfflineHandler(['path/to/customFile.js'], ...); ``` * Call your URLs with an additional parameter : `?v=1`, or without any to get the default version. Changing this parameter will create a new cache version. Calling your URLs with `?v=no-cache` will bypass the cached versions * **Parameters** ``` /** * List of ressources to be cached * The current page is always cached, no need to add it here * @type {String[]} */ const ressourceList = [ 'path/to/customFile.js', 'pathto/the/customCss.css' ]; /** * /|\ OPTIONAL /|\ * Path to the OfflineHandler ServiceWorker file * @type {String} * @default OfflineHandler-sw.min.js */ const serviceWorkerPath = 'OfflineHandler-sw.min.js'; /** * /|\ OPTIONAL /|\ * Name of the URL parameter that holds the version of the files * @type {String} * @default v */ const versionParameter = 'v'; /** * /|\ OPTIONAL /|\ * Should the old cached versions be deleted when a new one is created ? * @type {Boolean} * @default false */ const clearOldCache = false; /** * /|\ OPTIONAL /|\ * Should external requests be cached ? * @type {Boolean} * @default false */ const cacheExternalRequests = false; new OfflineHandler(ressourceList, serviceWorkerPath, versionParameter, clearOldCache, cacheExternalRequests); ``` * **Example** See this [Github project](https://github.com/Zenoo/offline-app-example) for a working example. ## Authors * **Zenoo** - *Initial work* - [Zenoo.fr](https://zenoo.fr)