音频应该在重定向到链接之前播放

时间:2015-07-10 17:01:03

标签: javascript html css html5 audio

我是网站开发的新手,我正在独立学习。在我的网站中,我将音频嵌套在页面顶部的按钮中。如果用户将音频静音,则其余导航链接将不会播放该音乐。否则,每次用户点击链接时,音频都会在重定向到另一个链接之前播放。

我的HTML代码是这样的:

<a href="javascript:void(0)"><span id="facebook" onclick="playLink(this.id)">facebook</span></a> 

我的java代码是这样的:

function playLink(id)
{

if(audio1.muted==true && id=="facebook")
{
 window.location.href="https://www.facebook.com/?stype=lo&jlou=AfdeVGNZ2wkOmLR2JKTDO5TQxnERQXFcGGG5gBl3mieEaFJq-_rbey251tojJmP3jetCtclLhIYstrSsHlonyLoa&smuh=44193&lh=Ac_NtNBBW6lW7Cwg";
}

if(audio1.muted==false && id=="facebook")
{
  audio1.play();
  alert("1");
  if(audio1.ended)
  window.location.href="https://www.facebook.com/?stype=lo&jlou=AfdeVGNZ2wkOmLR2JKTDO5TQxnERQXFcGGG5gBl3mieEaFJq-_rbey251tojJmP3jetCtclLhIYstrSsHlonyLoa&smuh=44193&lh=Ac_NtNBBW6lW7Cwg;
 }
 }

问题是在剪辑结束后播放并成功导航背景声音,只有在audio1.play()之后添加警报。否则它会播放声音,但不会导航到链接的页面。我该如何解决?

感谢任何帮助。谢谢!

P.S: a 是bootstrap导航栏的一部分。

1 个答案:

答案 0 :(得分:1)

试试这个,使用setTimeout作为,

使用一段时间
if(audio1.muted==false && id=="facebook")
{
  audio1.play();
  //alert("1");
  setTimeout(function(){
            if(audio1.ended){
             window.location.href="https://www.facebook.com/?stype=lo&jlou=AfdeVGNZ2wkOmLR2JKTDO5TQxnERQXFcGGG5gBl3mieEaFJq-_rbey251tojJmP3jetCtclLhIYstrSsHlonyLoa&smuh=44193&lh=Ac_NtNBBW6lW7Cwg;
            }
      }, 200);
}