Установите start_url в манифесте веб-приложения на основе URL-адреса, который был добавлен на главный экран

На моем сайте несколько подразделов. Когда пользователь добавляет сайт на свой рабочий стол, я хотел бы убедиться, что значок домашнего экрана запускает их в подраздел, в котором они были, когда добавляли на рабочий стол.

Я могу зарегистрировать разные манифесты для каждого подраздела, но это не работает для одностраничных приложений, где нет перезагрузки страницы. Я рассматриваю возможность сохранения подраздела в файле cookie, а затем перенаправления с общего начального URL-адреса на основе этого файла cookie.

Есть лучший способ сделать это?


person drufball    schedule 14.09.2016    source источник
comment
Вы пробовали реализовать свое предложение? Также проверьте, может ли диплинкинг вам в этом помочь.   -  person KENdi    schedule 15.09.2016


Ответы (3)


Если вы удалите start_url из файла manifest.json, по умолчанию будет использоваться страница, которую пользователь просматривал при добавлении приложения pwa на рабочий стол. ref: https://developers.google.com/web/tools/lighthouse/audits/manifest-contains-start_url

person Fawaz    schedule 01.02.2018
comment
Это работает, но тогда вы не получите всплывающее окно «Добавить на главный экран», так как start_url является одним из требований. - person Yusufk; 27.05.2018
comment
И следующая плохая вещь заключается в том, что манифест недействителен, когда вы проверяете его с помощью инструментов Chrome. - person JohnnyDevNull; 26.10.2018

Вы пытались изменить URL-адрес манифеста веб-приложения, когда пользователь перемещается между разными подразделами?

document.querySelector('link[rel=manifest]').href = '/example-manifest.json';
person Matt Gaunt    schedule 16.09.2016

Одно из решений состоит в том, есть ли у вас отдельный манифест для каждой страницы с атрибутом start_url, специфичным для каждой страницы.

person André de Mattos Ferraz    schedule 14.06.2020