Html 5音频本地存储



我必须处理HTML页面中音频元素的行为。当用户到达页面时,音频开始播放。如果他在同一节课上再次到达页面,我不想再播放了。我试过那个代码,但它不起作用。你对此有什么建议吗?非常感谢

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<audio controls autoplay class="hidden-xs" style=" position:fixed; right:0; bottom:0; z-index:99999999999">
    <source src="music_bbms.mp3" type="audio/mpeg">
    Your browser does not support the audio element.
</audio>
<script>
    $(document).ready(function() {
        if (!localStorage.getItem('played') {
            $('.music').attr('autoplay', false);
            localStorage.setItem('played', true);
        }
    });
</script>

以下是我认为可能出错的地方:

  1. 音频元素上没有任何类.music,那么如何使用该类选择器更改其属性呢。我已经为音频元素添加了一个id,并使用该id进行选择
  2. if条件中缺少一个右括号,我已经修复了这个问题
  3. 我假设,我们将项值作为字符串存储在sessionStorage中。sessionStorage已被使用,因为您说过要只跟踪当前会话
     <audio id="music" controls class="hidden-xs" style=" position:fixed; right:0; bottom:0; z-index:99999999999">
        <source src="music_bbms.mp3" type="audio/mpeg">
        Your browser does not support the audio element.
    </audio>
    <script>
        $(document).ready(function() {
            if ( sessionStorage.getItem('played') != "true" ) {
                $('#music').get(0).play();
                sessionStorage.setItem('played', "true");
            }
        });
    </script>

最新更新