Skip to content
Allow your users to use your website while offline easily
JavaScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github
docs
.eslintrc.json
.gitignore
LICENSE
OfflineHandler-sw.js
OfflineHandler-sw.min.js
OfflineHandler.js
OfflineHandler.min.js
README.md
package.json

README.md

OfflineHandler (Demo)

Allow your users to use your website while offline easily

Doc

  • Installation

Simply import OfflineHandler.min.js into your HTML and download OfflineHandler-sw.min.js 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 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 for a working example.

Authors

You can’t perform that action at this time.