offline-handler
Version:
Allow your users to use your website while offline easily
96 lines (73 loc) • 3.06 kB
HTML
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: OfflineHandler.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Source: OfflineHandler.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>/* exported OfflineHandler */
/**
* Class used to setup the offline access
*/
class OfflineHandler{
/**
* Creates an OfflineHandler instance
* @param {String[]} ressourceList List of request paths to cache
* @param {String} [serviceWorkerPath=OfflineHandler-sw.min.js] Path to the OfflineHandler-sw.min.js file
* @param {String} [versionParameter=v] Cache version URL parameter
* @param {Boolean} [clearOldCache=false] Clear the old versions of the files once a new one is registered ?
* @param {Boolean} [cacheExternalRequests=false] Cache requests external to the current domain ?
*/
constructor(ressourceList, serviceWorkerPath, versionParameter, clearOldCache, cacheExternalRequests){
/**
* Files current version
* @type {String}
*/
this.version = new URL(location).searchParams.get(versionParameter || 'v') || '1';
if(this.version){
/**
* Parameters initializer
* @private
*/
this._parameters = {
versionParameter: versionParameter || 'v',
version: this.version,
serviceWorkerPath: serviceWorkerPath || new URL(location).origin + '/OfflineHandler-sw.min.js',
ressourceList: (ressourceList || []).concat([location.pathname + '?' + (versionParameter || 'v') + '=' + this.version]),
clearOldCache: typeof clearOldCache == 'undefined' ? false : clearOldCache,
cacheExternalRequests: typeof cacheExternalRequests == 'undefined' ? false : cacheExternalRequests
};
if('serviceWorker' in navigator){
navigator.serviceWorker
.register(this._parameters.serviceWorkerPath + '?param=' + encodeURIComponent(JSON.stringify(this._parameters)));
}
}else{
console.warn('OfflineHandler - Missing version in URL.');
}
}
}</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="OfflineHandler.html">OfflineHandler</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Fri Dec 21 2018 09:29:06 GMT+0100 (Romance Standard Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>