WebOrbiton
v1.0.0.1

StocketBase

34 lines · 746 B
  1. <?php
  2. ​
  3. declare(strict_types=1);
  4. ​
  5. require_once __DIR__ . '/includes/config.php';
  6. require_once __DIR__ . '/includes/database.php';
  7. require_once __DIR__ . '/includes/site-front.php';
  8. ​
  9. $settings = SiteFront::settings();
  10. if (($settings['pwa_enabled'] ?? '0') !== '1') {
  11. http_response_code(404);
  12. exit;
  13. }
  14. ​
  15. header('Content-Type: application/javascript; charset=utf-8');
  16. header('Service-Worker-Allowed: /');
  17. ​
  18. ?>
  19. self.addEventListener('install', function (event) {
  20. self.skipWaiting();
  21. });
  22. ​
  23. self.addEventListener('activate', function (event) {
  24. event.waitUntil(self.clients.claim());
  25. });
  26. ​
  27. self.addEventListener('fetch', function (event) {
  28. if (event.request.mode === 'navigate') {
  29. return;
  30. }
  31. ​
  32. event.respondWith(fetch(event.request));
  33. });
  34. ​