Как отключить запрос на обновление в доверенной веб-активности (TWA)?
У меня есть приложение PWA, код которого находится в файле main.css.
@media all and (display-mode: fullscreen) {
overscroll-behavior: none;
}
А при добавлении на главный экран и запуске в полноэкранном режиме (установленном в manifest.json) обновление по запросу отключается, как и ожидалось.
Однако в случае TWA:
Когда я создаю подписанный APK с помощью https://github.com/GoogleChromeLabs/bubblewrap, поведение pull-to-refresh не отключено.
Есть ли решение для этого?
3 ответа
Закончил создание обходного пути Javascript:
Сначала обновил twaManifest вbuild.gradle
файл.
Следующая строка:
launchUrl: '/?utm_source=twa'
И я добавил этот кусок js, чтобы добавить класс css к элементу body при обнаружении параметра запроса twa:
export const disablePullToRefreshTWA = () => {
const urlParams = new URLSearchParams(window.location.search);
const myParam = urlParams.get('utm_source');
if (myParam === 'twa') {
document.body.classList.add('twa-app');
}
};
и мой main.css
теперь есть:
body.twa-app {
overscroll-behavior: none;
}
Изменить: я сохранил свой медиа-запрос pwa (режим отображения) для добавления PWA в случай HomeScreen
Chrome на Android обновляет страницу при прокрутке за верхнюю границу. Этого можно избежать, установив для параметра «overscroll-behavior» значение «none» в элементе «html».
html { margin: 0; overscroll-behavior: none; }