Эта проблема не новая, я думаю, что она такая же старая, как кэширование браузера, и я знаю об этом по количеству сайтов, которые я пробил, искал решение, но проблема остается, и я немного потерян. Итогов по нескольким потенциальным решениям для этого, ни один из которых, по -видимому, ничего не делает - если я нажимаю на F5 и посмотрю на свою сетевую деятельность, все файлы, которые я изменил, по -прежнему упорно старые версии (если я не очищаю кэш вручную или переключаю «Отключить кэш» в параметрах DEV) < /p>
Во -первых, я использую аттрасную атрибут «Manifest».
< /code>
И содержимое этого файла выглядит следующим образом: < /p>
CACHE MANIFEST
v0.5.1323434
# Explicitly cached 'master entries'.
CACHE:
MyGame/assets/favicon.ico
Games/MyGame/index.php
dist/mainjs.js
css/main.css
< /code>
Однако, насколько я могу судить, этот файл абсолютно ничего не делает - возможно, он был заменен структурой PWA, но мне было трудно найти солидную информацию об этой, кроме одной строки в записи Wikipedia, предполагая, что это устаревшая технология и с этим (https://en.wikipedia.org/wiki/cache_manifest_in_html5).
Я также включаю несколько заклинаний по недействительной кэше.
< /code>
Предполагая, что это так, я старался также реализовать какое -то управление кешами в рамках PWA, но работник службы, которого я написалif ("serviceWorker" in navigator) {
navigator.serviceWorker.register("./scripts/install_game.js");
}
< /code>
И сам работник службы выглядит примерно так: < /p>
const cacheName = "MyGame";
const cacheContents = [
"/dist/webpackedmainfile.js",
"../assets/someimage.png",
"../assets/anotherimage.png"
];
self.addEventListener("install", (e) => {
console.log("[Service Worker] Install");
e.waitUntil(
(async () => {
const cache = await caches.open(cacheName);
console.log("[Service Worker] Caching all: app shell and content");
await cache.addAll(cacheContents);
})(),
);
});
< /code>
и манифестный файл для PWA выглядит так: < /p>
{
"id": "/games/mygame/index.php?version=v0.5.20",
"name": "mygame",
"start_url": ".",
"screenshots": [
{
"src": "assets/screenshots/ss1.png",
"sizes": "1280x720",
"type": "image/png",
"form_factor": "wide",
"label": "crown and keyboard safe closed"
}
],
"icons": [
{
"src": "assets/logo144.png",
"type": "image/png",
"sizes": "144x144",
"purpose": "maskable"
},
{
"src": "assets/logo144.png",
"type": "image/png",
"sizes": "144x144",
"purpose": "any"
}
],
"display": "standalone",
"background_color": "#181200"
}
< /code>
, который на самом деле работает: я могу установить страницу в качестве приложения на всех платформах, на которых я тестировал. Тем не менее, осмотр в Chrome не показывает ничего кэшированного под этим именем кэша, поэтому я не думаю, что он работал, как я предполагал - файлы все еще кэшируются, просто не под моим названным кэшем. Я также не уверен, какое влияние это окажет, если веб -страница не установлена в качестве приложения - мне нужна единая система, которая работает для обоих, и я не думаю, что это когда -либо обновляется, если только она не будет переустановлена. Я не против справиться с этим сам, но мне нужно знать, как. Я хотел бы знать, как это сделать для версии PWA и веб -сайта.
Подробнее здесь: https://stackoverflow.com/questions/795 ... wa-in-2025
Достоверно невидимый кэш на новой версии веб -страницы и/или PWA в 2025 году ⇐ Html
Программисты Html
1743590651
Anonymous
Эта проблема не новая, я думаю, что она такая же старая, как кэширование браузера, и я знаю об этом по количеству сайтов, которые я пробил, искал решение, но проблема остается, и я немного потерян. Итогов по нескольким потенциальным решениям для этого, ни один из которых, по -видимому, ничего не делает - если я нажимаю на F5 и посмотрю на свою сетевую деятельность, все файлы, которые я изменил, по -прежнему упорно старые версии (если я не очищаю кэш вручную или переключаю «Отключить кэш» в параметрах DEV) < /p>
Во -первых, я использую аттрасную атрибут «Manifest».
< /code>
И содержимое этого файла выглядит следующим образом: < /p>
CACHE MANIFEST
v0.5.1323434
# Explicitly cached 'master entries'.
CACHE:
MyGame/assets/favicon.ico
Games/MyGame/index.php
dist/mainjs.js
css/main.css
< /code>
Однако, насколько я могу судить, этот файл абсолютно ничего не делает - возможно, он был заменен структурой PWA, но мне было трудно найти солидную информацию об этой, кроме одной строки в записи Wikipedia, предполагая, что это устаревшая технология и с этим (https://en.wikipedia.org/wiki/cache_manifest_in_html5).
Я также включаю несколько заклинаний по недействительной кэше.
< /code>
Предполагая, что это так, я старался также реализовать какое -то управление кешами в рамках PWA, но работник службы, которого я написалif ("serviceWorker" in navigator) {
navigator.serviceWorker.register("./scripts/install_game.js");
}
< /code>
И сам работник службы выглядит примерно так: < /p>
const cacheName = "MyGame";
const cacheContents = [
"/dist/webpackedmainfile.js",
"../assets/someimage.png",
"../assets/anotherimage.png"
];
self.addEventListener("install", (e) => {
console.log("[Service Worker] Install");
e.waitUntil(
(async () => {
const cache = await caches.open(cacheName);
console.log("[Service Worker] Caching all: app shell and content");
await cache.addAll(cacheContents);
})(),
);
});
< /code>
и манифестный файл для PWA выглядит так: < /p>
{
"id": "/games/mygame/index.php?version=v0.5.20",
"name": "mygame",
"start_url": ".",
"screenshots": [
{
"src": "assets/screenshots/ss1.png",
"sizes": "1280x720",
"type": "image/png",
"form_factor": "wide",
"label": "crown and keyboard safe closed"
}
],
"icons": [
{
"src": "assets/logo144.png",
"type": "image/png",
"sizes": "144x144",
"purpose": "maskable"
},
{
"src": "assets/logo144.png",
"type": "image/png",
"sizes": "144x144",
"purpose": "any"
}
],
"display": "standalone",
"background_color": "#181200"
}
< /code>
, который на самом деле работает: я могу установить страницу в качестве приложения на всех платформах, на которых я тестировал. Тем не менее, осмотр в Chrome не показывает ничего кэшированного под этим именем кэша, поэтому я не думаю, что он работал, как я предполагал - файлы все еще кэшируются, просто не под моим названным кэшем. Я также не уверен, какое влияние это окажет, если веб -страница не установлена в качестве приложения - мне нужна единая система, которая работает для обоих, и я не думаю, что это когда -либо обновляется, если только она не будет переустановлена. Я не против справиться с этим сам, но мне нужно знать, как. Я хотел бы знать, как это сделать для версии PWA и веб -сайта.
Подробнее здесь: [url]https://stackoverflow.com/questions/79550304/reliably-invalidating-cache-on-new-version-of-webpage-and-or-pwa-in-2025[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия