MediaWiki:Gadget-AudioPlayer.js

De Official Temtem Wiki
Aller à la navigation Aller à la recherche

Dans d’autres langues: English • Español


Tous changements apportés au fichiers CSS et Javascript doivent être conforme aux règles de design du wiki.


Note : après avoir enregistré vos modifications, il se peut que vous deviez forcer le rechargement complet du cache de votre navigateur pour voir les changements.

  • Firefox / Safari : maintenez la touche Maj (Shift) en cliquant sur le bouton Actualiser ou pressez Ctrl-F5 ou Ctrl-R (⌘-R sur un Mac)
  • Google Chrome : appuyez sur Ctrl-Maj-R (⌘-Shift-R sur un Mac)
  • Internet Explorer : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5
  • Opera : allez dans Menu → Settings (Opera → Préférences sur un Mac) et ensuite à Confidentialité & sécurité → Effacer les données d’exploration → Images et fichiers en cache.
"use strict";

var i18n = {
    playTitle : "Click to play",
    pauseTitle : "Click to pause",
    stopTitle : "Click to stop"
};

/* Fired whenever wiki content is added. (#mw-content-text, live preview, load page, etc.) */
mw.hook( "wikipage.content" ).add( function( $wikipageContent ) {
    var $players = $wikipageContent.find( ".audio-player" );
    $players.click( function() {
        var audio = $( this ).find( "audio" )[0];
        if (audio) { // Audio exists?
            // Toggle play state
            if (audio.paused) {
                audio.play();
            } else {
                audio.pause();
            }
        }
    });

    var $audios = $players.find( "audio" );
    $audios.on( "play", function () {
        var $player = $( this ).closest(".audio-player");
        // Before playing, stop any other audio players
        var $otherAudios = $audios.not( this );
        $otherAudios.trigger( "pause" );
        $otherAudios.closest( ".audio-player" ).attr( "title", i18n.playTitle );

        $player.toggleClass( "playing" , true ).attr( "title", $player.hasClass("pausable") ? i18n.pauseTitle : i18n.stopTitle );
    });

    $audios.on( "pause", function () {
        var $player = $( this ).closest(".audio-player");
        $player.toggleClass( "playing" , false );
        
        if (!$player.hasClass("pausable"))
            this.currentTime = 0;
    });
});