Включает ли Манифест в Веб-приложение порядок?

Я пытаюсь добавить функциональность PWA на простой сайт, и у меня возникают странные проблемы с версией Chrome 68.0.3440.106.

Я работаю на http://localhost:4502/ для моего тестирования в контексте CMS (поэтому я работаю в нескольких ограничениях). Кроме того, обратите внимание, что я удалил весь свой код PWA/Service Worker, поэтому кэширование не работает.

в <head>.. Я включаю манифест через:

<link rel="manifest" href="/content/foo/bar.pwa.manifest.webmanifest" type="application/manifest+json">

("Нечетное" имя файла манифеста является ограничением CMS, в которой я работаю; я также использовал расширение "json" для того же эффекта, как описано ниже).

Который содержит...

{"name":"Sample",
"short_name":"sample",
"theme_color":"#001F3F",
"background_color":"#FF4136",
"display":"standalone",
"scope":".",
"start_url":"/content/foo/bar.html",
"icons":[{"src":"/content/assets/sample.jpg","size":"192x192","type":"image/jpeg"},{"src":"/content/assets/sample.jpg","size":"512x512","type":"image/jpeg"},{"src":"/content/assets/sample.jpg","size":"144x144","type":"image/jpeg"}]}

Я заметил следующее: Когда у меня есть JS/CSS включает в себя выше <link rel="manifest" .. дела идут плохо * Если я скопирую URL страницы, вставлю ее в НОВУЮ вкладку Chrome (обновление существующей вкладки не обрезает ее) и открою Chrome Dev Tools ДЛЯ этой новой вкладки, я смогу увидеть HTTP-запрос / ответ для манифеста, и в Dev Tools > Application > Manifest это появляется, чтобы отобразить все правильно. (Все идет нормально). * Если я обновлю эту вкладку, я не увижу запрос на манифест, а раздел Приложение> Манифест пуст. Источник HTML не изменился вообще. * Независимо от того, сколько раз я обновляюсь, это не помогает (также очищает кеш и т. Д.)

2) Когда я двигаю <link rel="manifest" быть выше любого CSS/JS в <head> кажется, загружается последовательно и правильно. При обновлении страницы отображается HTTP-запрос для манифеста, а Application> Manifest отображает правильную информацию.

Я просматривал документы (Google, MDN), чтобы выяснить, ДОЛЖЕН ли быть включен манифест до ЛЮБЫХ других включений, но я не могу найти ничего, что говорит об этом - и странно, что при первой загрузке вкладки, кажется, работать даже при включении после CSS/JS.

Я надеюсь, что есть способ загрузить это независимо от того, где в <head> <link rel="manifest".. бывает (так как CMS затрудняет гарантию заказа)

1 ответ

Решение

Нет, относительная позиция <link rel="manifest"> в вашей странице <head> не имеет значения с точки зрения того, как это анализируется и интерпретируется.

Мне трудно объяснить поведение, которое вы видите, кроме, возможно, синтаксической ошибки в HTML, которая включает в себя ваши JavaScript и CSS, вызывая последующее <link rel="manifest"> быть разобран неправильно Но в целом позиция не должна иметь значения.

Другие вопросы по тегам