Changes for page LiveTableServiceWorker
Last modified by bougault on 2022/03/22 17:19
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Objects (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Parent
-
... ... @@ -1,0 +1,1 @@ 1 +Main.WebHome
- XWiki.JavaScriptExtension[0]
-
- Code
-
... ... @@ -1,16 +1,34 @@ 1 -self.addEventListener('fetch', function(event) { 2 -console.log('sw', event); 3 -/* 4 - event.respondWith( 5 - fetch(event.request).then(function(response) { 6 - if (response.status === 404) { 7 - return fetch("/path/to/404error.gif"); 8 - } 9 - return response; 10 - }).catch(function() { 11 - return new Response("Uh oh, that totally failed!"); 12 - }) 13 - ); 14 -*/ 15 -}); 1 +$response.addHeader('Service-Worker-Allowed', '/bin/view/Membership') 2 +$response.setContentType("text/javascript") 3 +console.log(navigator.serviceWorker); 4 +if(navigator.serviceWorker) { 5 + const version = "0.1.0"; 16 16 7 + self.addEventListener("install" , event => { 8 + self.skipWaiting(); 9 + }); 10 + 11 + self.addEventListener("activate" , event => { 12 + event.waitUntil(self.clients.claim()); 13 + }); 14 + /* 15 + self.addEventListener("fetch" , event => { 16 + const pathname = new URL(event.request.url).pathname; 17 + if(pathname === '/bin/get/XWiki/LiveTableResults') { 18 + event.respondWith(fetch(event.request).then(res => res.json()).then(json => { 19 + const headers = new Headers({'Content-Type': 'application/json'}); 20 + const jsonResults = json.rows.filter(row => row.doc_viewable === true); 21 + return new Response(JSON.stringify(jsonResults), {headers}); 22 + })); 23 + } 24 + }); 25 + */ 26 + self.addEventListener("fetch", (e) => { 27 + const pathname = new URL(event.request.url).pathname; 28 + console.log("sw", pathname); 29 + if(pathname === "/getMembershipRequests") { 30 + const res = new Response("custom response"); 31 + e.respondWith(res); 32 + } 33 + }); 34 +} - Use this extension
-
... ... @@ -1,0 +1,1 @@ 1 +onDemand - Parse content
-
... ... @@ -1,0 +1,1 @@ 1 +Yes