Я создал исходный файл манифеста Manifest.json и сценарий, в котором я меняю начальный URL-адрес и src значков в соответствии с конкретным пользователем.
Проблема в том, что на устройствах Android у меня есть полная функциональность pwa, pwa прекрасно сохраняется, а на IOS - нет, открывается начальный URL-адрес. из исходного манифеста.json.
Код: Выделить всё
async function setDynamicManifest() {
const basePath = location.pathname.split('/')[1];
const manifestTemplateUrl = '/manifest.json';
const response = await fetch(manifestTemplateUrl);
let manifest = await response.json();
manifest.start_url = `${origin}/${basePath}/login`;
manifest.icons = manifest.icons.map((icon) => ({
...icon,
src: `${origin}/${icon.src}`,
}));
manifest.screenshots = manifest.screenshots.map((icon) => ({
...icon,
src: `${origin}/${icon.src}`,
}));
console.log(window.location.origin);
console.log(manifest);
const manifestBlob = new Blob([JSON.stringify(manifest)], { type: 'application/json' });
document.querySelector('#my-manifest-placeholder').setAttribute('href', URL.createObjectURL(manifestBlob));
}
setDynamicManifest();
У кого-нибудь была подобная ситуация?
ПРИМЕЧАНИЕ: при использовании теста Lighthouse PWA код можно установить, и это действительно так, мне просто нужно динамически изменить start_url и src.
Спасибо!
Подробнее здесь: https://stackoverflow.com/questions/781 ... ly-changes
Мобильная версия