Отключите звук на всех страницах моего сайта с помощью JS - PullRequest
0 голосов
/ 27 февраля 2019

Так что внутри моего сайта у меня есть 4 страницы, индекс и другие.На всех страницах у меня есть навигация по меню, и если пользователь наводит курсор на якорь внутри меню, воспроизводится звук.Я обнаружил, что это может раздражать, поэтому я сделал кнопку, которая отключает звук при нажатии, но она отключает звук только на текущей странице (я имею в виду, что я знал это с самого начала).Есть ли какой-нибудь метод, который я могу использовать, чтобы отключить звук при первом клике на моем сайте, чтобы пользователю не приходилось каждый раз нажимать кнопку отключения звука?Это возможно с JS?Что вы предлагаете мне сделать?

1 Ответ

0 голосов
/ 27 февраля 2019

При нажатии кнопки сохраните флаг в localStorage, например:

button.onclick = () => {
  localStorage.mute = 1 - Number(localStorage.mute);
  // this will result in `.mute` being either '0' or '1' (strings)
  // perform mute operation too, if a sound is currently playing, if you want
};

Затем, в вашем слушателе, немедленно вернитесь, если .mute равно 1:

.onhover = () => {
  if (localStorage.mute === '1') {
    return;
  }
  // play sound
};

Если вы хотите, чтобы кнопка отключения звука сохранялась только в текущем сеансе (время жизни вкладки), используйте sessionStorage.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...