Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Помогите с мобильным сайтом на ios (https://javascript.ru/forum/misc/82966-pomogite-s-mobilnym-sajjtom-na-ios.html)

bor4uk 16.08.2021 16:19

Помогите с мобильным сайтом на ios
 
Хочу сделать всплывающую иконку на сайте, только для ios пользователей. Но как технически всё реализовать не хватает навыков.
Есть JS код , но куда вставить и как прописать правильно не знаю.

// Detects if device is on iOS 
const isIos = () => {
  const userAgent = window.navigator.userAgent.toLowerCase();
  return /iphone|ipad|ipod/.test( userAgent );
}
// Detects if device is in standalone mode
const isInStandaloneMode = () => ('standalone' in window.navigator) && (window.navigator.standalone);

// Checks if should display install popup notification:
if (isIos() && !isInStandaloneMode()) {
  this.setState({ showInstallMessage: true });
}

ksa 16.08.2021 17:02

Цитата:

Сообщение от bor4uk
Есть JS код , но куда вставить и как прописать правильно не знаю.
window.navigator
...
this.setState()

Код явно на React ... Просто так его "прописать" не получится.

ksa 16.08.2021 17:17

Цитата:

Сообщение от bor4uk (Сообщение 539430)
Есть JS код , но куда вставить и как прописать правильно не знаю.

// Checks if should display install popup notification:
if (isIos() && !isInStandaloneMode()) {
  this.setState({ showInstallMessage: true });
}

Например такое можно поместить в componentDidMount() этого же класса, что порождает this и собственно стейт, который ты собираешься изменить...
Вот тут паренек рассказывает про "жизненный цикл" компоненты React.
https://www.youtube.com/watch?v=auAtFC5nfTs

bor4uk 16.08.2021 17:29

спасибо, изучу, надеюсь что нибудь получится))


Часовой пояс GMT +3, время: 18:57.