Включает ли Манифест в Веб-приложение порядок?
Я пытаюсь добавить функциональность 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">
быть разобран неправильно Но в целом позиция не должна иметь значения.