Как установить start_url и сервис работает некорректно - PullRequest
0 голосов
/ 19 января 2020

Я посмотрел на этот пост о start_url

Я не нашел решения, как решить эти 2 вещи:

start_url и $image_192 и $image_512

для start_url Я посмотрел этот пост о start_url, но не работает.

Будет приветствоваться небольшая помощь

Спасибо Вы

ошибка с маяком:

start_url does not respond with a 200 when offline
Web app manifest does not meet the installability requirementsFailures: Manifest does not have a PNG icon of at least 192px.
Is not configured for a custom splash screenFailures: Manifest does not have a PNG icon of at least 512px

Мой манифест (часть)

  $scope = '.'; // //without directory :  "/"
  $start_url = './'; //without directory : "/"

  $image_192 =  HTTP::getShopUrl() . 'manifest/logo_192.png';
  $image_512 =  HTTP::getShopUrl() . 'manifest/logo_512.png';

  $code_langue = $this->Language->getCode();

  $manifest = [
    'dir' => 'ltr',
    'lang' => '{$code_langue}',
    'name' => '{$siteName}',
    'short_name' => '{$shortName}',
    'description' => '{$description}',
    'scope' => '{$scope}',
    'display' => 'standalone',
    'start_url' => '{$start_url}',
    'theme_color' => '#317EFB',
    'orientation' => 'any',
    'background_color' => '#fff',
    'related_applications' => '',
    'prefer_related_applications' => 'false',
    'screenshots' => [],
    'generated' => 'true',
    'icons' => [
      'src' => '{$image_512}',
      'sizes'=> '192x192 512x512',
      'type' => 'image/png'
    ],
    'src' => '{$image_512}',
    'sizes' => '512x512',
    'type' => 'image/png'
  ];

   $json_manifest = json_encode($manifest);

   echo  $json_manifest;

Мой манифест

// This is the "Offline page" service worker

const CACHE = "pwabuilder-page";

//  replace the following with the correct offline fallback page i.e.: const offlineFallbackPage = "offline.html";
const offlineFallbackPage = "offline.html";

// Install stage sets up the offline page in the cache and opens a new cache
self.addEventListener("install", function (event) {
  console.log("[PWA Builder] Install Event processing");

  event.waitUntil(
    caches.open(CACHE).then(function (cache) {
      console.log("[PWA Builder] Cached offline page during install");

      if (offlineFallbackPage === "offline") {
        return cache.add(new Response("TODO: Update the value of the offlineFallbackPage constant in the serviceworker."));
      }

      return cache.add(offlineFallbackPage);
    })
  );
});

// If any fetch fails, it will show the offline page.
self.addEventListener("fetch", function (event) {
  if (event.request.method !== "GET") return;

  event.respondWith(
    fetch(event.request).catch(function (error) {
      // The following validates that the request was for a navigation to a new document
      if (
        event.request.destination !== "document" ||
        event.request.mode !== "navigate"
      ) {
        return;
      }

      console.error("[PWA Builder] Network request Failed. Serving offline page " + error);
      return caches.open(CACHE).then(function (cache) {
        return cache.match(offlineFallbackPage);
      });
    })
  );
});

// This is an event that can be fired from your page to tell the SW to update the offline page
self.addEventListener("refreshOffline", function () {
  const offlinePageRequest = new Request(offlineFallbackPage);

  return fetch(offlineFallbackPage).then(function (response) {
    return caches.open(CACHE).then(function (cache) {
      console.log("[PWA Builder] Offline page updated from refreshOffline event: " + response.url);
      return cache.put(offlinePageRequest, response);
    });
  });
});

1 Ответ

0 голосов
/ 19 января 2020

Я нашел решение. Проблема в том, что эти элементы имеют акцент или нет $ siteName, $ shortName, $ description

Я создал функцию для удаления акцента и применил к $ siteName, например

...