Wie kann ich feststellen, ob ein HTML5-Audio-element ist das Spiel mit Javascript
Ich habe eine audio
element in einer Webseite, und ich möchte sicherstellen, dass ein Benutzer nicht immer noch spielen, wenn Sie die Seite verlassen. Wie kann ich sicher sein, dass die audio
element wird nicht abgespielt, wenn die Seite entladen wird? Bisher habe ich folgenden code, aber es scheint nicht zu funktionieren; das Dialogfeld, das daraufhin angezeigt wird nach dem entladen berichtet, dass playing
ist false
auch bei der audio-Wiedergabe:
<!DOCTYPE HTML><html>
<head>
<script><!-- Loading Scripts -->
function unloadTasks(){
if (playing && !window.confirm("A podcast is playing, and navigating away from this page will stop that. Are you sure you want to go?"))
window.alert("Here is where I will stop the page from unloading... somehow");
}
</script>
<script><!-- Player Scripts -->
var playing = false;
function logPlay(){
playing = isPlaying("e1audPlayer");
}
function isPlaying(player){
return document.getElementById(player).currentTime > 0 && !document.getElementById(player).paused && !document.getElementById(player).ended;
}
</script>
</head>
<body onunload="unloadTasks()">
<audio id="e1audPlayer" style="width:100%;" controls="controls" preload="auto" onplaying="logPlay()" onpause="logPlay()">
<source src="http://s.supuhstar.operaunite.com/s/content/pod/ADHD Episode 001.mp3" type="audio/mpeg"/>
<source src="http://s.supuhstar.operaunite.com/s/content/pod/ADHD Episode 001.ogg" type="audio/ogg"/>
Your browser does not support embedded audio players. Try <a href="http://opera.com/">Opera</a> or <a href="http://chrome.com/">Chrome</a>
</audio>
</body>
</html>
Du musst angemeldet sein, um einen Kommentar abzugeben.
Glaube ich, dass der browser Stoppt die audio-als Teil der Seite entladen Prozess. Daher, durch die Zeit, Ihre benutzerdefinierten unload-Funktion aufgerufen wird, wird das audio wurde beendet.
Könnten Sie onbeforeunload statt onunload -, die funktionieren könnte (ungetestet).
Alternativ könnte man ein flag setzen, wenn die audio beginnt, und verwenden Sie die onended Ereignis zu ändern, das flag, wenn die audio beendet ist, oder wenn der Benutzer manuell Stoppt oder pausiert es.
onunload
Veranstaltung durchgeführt wurden