静音声音脚本,记住您的选择

时间:2018-04-25 22:27:49

标签: javascript

我有以下HTML:

<audio autoplay id="background_audio">
  <source src="https://sporedev.ro/pleiade/hol.mp3" type="audio/mpeg">
</audio>

<a href="#" id="mute">Play/mute sound</a>

以下JS:

var audio = document.getElementById('background_audio');

document.getElementById('mute').addEventListener('click', function (e)
{
    e = e || window.event;
    audio.muted = !audio.muted;
    e.preventDefault();
}, false);

您可以在这里找到JSFiddle

此脚本的作用是静音并继续播放具有background_audio id的音频文件。

我已在project中成功实施了此解决方案。您可以通过单击带有齿轮的图标和可在菜单中找到的文本“Setari”(它位于最后一行的中间)来静音/播放声音。

如何修改脚本以设置cookie或创建会话,以便当用户将声音静音在一个页面上时,它也可以在其他页面上保持这种状态?

我在SO和Google上对JS进行了一些关于cookie的研究,但无法找到解决方案。

请注意,如果用户重新启用声音,则它应该会在每个页面上再次运行。

我认为我需要在点击“mute”ID时创建Cookie。然后我需要验证cookie是否已设置,如果已设置,则将存储在cookie中的值分配给audio.muted。如果没有设置cookie,那么它应该播放声音(说起来容易做起来难)。

1 个答案:

答案 0 :(得分:1)

单击该按钮时,添加值为false的cookie。加载页面时,请检查cookie。

Cookie lib: https://github.com/js-cookie/js-cookie https://github.com/js-cookie/js-cookie