Reageren op de pagina focus

Moderne browsers werken allemaal met tabbladen. In elke tab kun je een website open hebben staan, maar dat kan wat zij-effecten hebben. Van al die tabbladen kun je er maar één tegelijk zien. Dat tabblad heeft de focus.

Stel dat al die sites multimedia-bestanden ophalen en die meteen beginnen af te spelen. Dat wordt een enorme kakofonie van geluiden. Het zou mooi zijn als al die sites zouden stoppen met downloaden (dan wel het geluid uitzetten) als hun tabblad de focus verliest.

Op deze pagina wordt uitgelegd hoe je zoiets aanpakt. We beginnen met een voorbeeld:
Hieronder zie je een audiospeler. Als je die start hoor je muziek van de Edwin Hawkin Singers: Oh Happy Day.
Zodra je een nieuwe tab opent of naar een ander tabblad gaat stopt de muziek. Als je weer terug komt op dit tabblad gaat de muziek verder waar die was gestopt.

clip: Oh Happy Day, duur 41 seconden,
0.24-7.02 MB, afhankelijk van het formaat.

Gebruik:

De code van het voorbeeld ziet er als volgt uit:
 
(Zet dit in de <HEAD>).

<script>
document.addEventListener("visibilitychange", function() {
  if (document.visibilityState == 'visible') {
    document.getElementById('mySound').play();
  } else {
    document.getElementById('mySound').pause();
  }
});
</script>

(Zet dit in de <BODY> op de plaats waar de mediaspeler moet verschijnen).

<div align="center">
<audio id="mySound" controls loop>
<source src="happyday.mp3" type="audio/mpeg">
<source src="https://www.webmasterij.nl/html/html-3/happyday.ogg"
  type="audio/ogg">
<source src="https://www.webmasterij.nl/html/html-3/happyday.wav"
  type="audio/wav">
<p>Audio is niet hoorbaar, HTML5 audio wordt door uw browser waarschijnlijk niet ondersteund.</p>
</audio>
</div>

 
terug

html-502; Laatste wijziging: 22 april 2020