#javascript #progressive-web-apps
#javascript #progressive-веб-приложения
Вопрос:
Мне нужно скрыть элемент, когда пользователь находится в pwa. Я пробовал, как,
manifest.json
"start_url": "/?mode=standalone"
js
const url = new URL(window.location.href);
if(url.searchParams.get('mode')==='standalone') {
document.getElementsByClassName("pwa").style.display="none";
}
HTML
<p class="pwa">Some text</p>
Я не получаю никаких ошибок в консоли. и я не могу скрыть элемент в pwa. Как это сделать?
Ответ №1:
вы можете проверить в JavaScript с помощью:
if (window.matchMedia('(display-mode: standalone)').matches) {
console.log("This is running as standalone.");
}
Ответ №2:
document.getElementsByClassName("pwa")
возвращает a HTMLCollection
. Вы должны выполнить итерацию элементов pwa:
Array.from(
document.getElementsByClassName("pwa")
).forEach((e)=>e.style.display='none')
Комментарии:
1. Это работает, но мне нужно заменить
if(url.searchParams.get('mode')==='standalone')
наif(navigator.standalone || window.matchMedia('(display-mode: standalone)').matches)