Changeset 108317 in spip-zone


Ignore:
Timestamp:
Jan 3, 2018, 3:24:51 PM (18 months ago)
Author:
cedric@…
Message:

Retablir l'initialisation JS de mediaelement.js via le script mejs-init.js qui prend en charge les attributs data- et ajoute les class paused/playing selon l'etat du player. Retrait de la class mejsplayer qui avait ete ajoutee pour declencher l'init automatique au lieu de reparer le script mejs-init.js

Location:
_core_/branches/spip-3.2/plugins/medias
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • _core_/branches/spip-3.2/plugins/medias/javascript/mejs-init.js

    r103755 r108317  
    2020                                jQuery("audio.mejs,video.mejs").not('.done').each(function (){
    2121                                        var me = jQuery(this).addClass('done');
    22                                         //console.log(this);
    2322                                        var id;
    2423                                        if (!(id = me.attr('id'))){
     
    3231                                        function runthisplayer(){
    3332                                                var run = true;
    34                                                 //console.log(css);
    3533                                                for (var c in opt.css){
    3634                                                        L.cssload(opt.css[c]);
    3735                                                }
    3836                                                for (var p in opt.plugins){
    39                                                         //console.log(p);
    40                                                         //console.log(L.plug[p]);
    4137                                                        // load this plugin
    4238                                                        if (typeof L.plug[p]=="undefined"){
    43                                                                 //console.log("Load Plugin "+p);
    4439                                                                run = false;
    4540                                                                L.plug[p] = false;
     
    5146                                                        // this plugin is loading
    5247                                                        else if (L.plug[p]==false){
    53                                                                 //console.log("Plugin "+p+" loading...");
    5448                                                                run = false;
    55                                                         }
    56                                                         else {
    57                                                                 //console.log("Plugin "+p+" loaded");
    5849                                                        }
    5950                                                }
    6051                                                if (run){
    61                                                         new MediaElementPlayer('#'+id, jQuery.extend(opt.options, {
    62                                                                 "success": function (media){
    63                                                                         function togglePlayingState(){
    64                                                                                 jQuery(media).closest('.mejs-inner').removeClass(media.paused ? 'playing' : 'paused').addClass(media.paused ? 'paused' : 'playing');
     52                                                        jQuery('#'+id).mediaelementplayer(jQuery.extend(opt.options, {
     53                                                                        "success": function (media, node){
     54                                                                                function togglePlayingState(){
     55                                                                                        var inner = jQuery(media).closest('.mejs__inner');
     56                                                                                        if (!media.paused) {
     57                                                                                                inner.removeClass('paused').removeClass('pausing').addClass('playing');
     58                                                                                        }
     59                                                                                        else {
     60                                                                                                inner.addClass('pausing');
     61                                                                                                setTimeout(function(){inner.filter('.pausing').removeClass('playing').removeClass('pausing').addClass('paused');},100);
     62                                                                                        }
     63                                                                                }
     64                                                                                togglePlayingState();
     65                                                                                media.addEventListener('play', togglePlayingState, false);
     66                                                                                media.addEventListener('playing', togglePlayingState, false);
     67                                                                                media.addEventListener('pause', togglePlayingState, false);
     68                                                                                media.addEventListener('paused', togglePlayingState, false);
     69                                                                                if (me.attr('autoplay')) media.play();
    6570                                                                        }
    66 
    67                                                                         togglePlayingState();
    68                                                                         media.addEventListener('play', togglePlayingState, false);
    69                                                                         media.addEventListener('playing', togglePlayingState, false);
    70                                                                         media.addEventListener('pause', togglePlayingState, false);
    71                                                                         media.addEventListener('paused', togglePlayingState, false);
    72                                                                         if (me.attr('autoplay')) media.play();
    73                                                                 }
    74                                                         }));
     71                                                                })
     72                                                        );
    7573                                                }
    7674                                        }
    77 
    7875                                        runthisplayer();
    7976                                })
  • _core_/branches/spip-3.2/plugins/medias/javascript/mejs-init.min.js

    r103755 r108317  
    1 var mejsloader; (function(){var a=mejsloader;"undefined"==typeof a&&(mejsloader=a={gs:null,plug:{},css:{},init:null,c:0,cssload:null});a.init||(a.cssload=function(b){if("undefined"==typeof a.css[b]){a.css[b]=!0;var c=document.createElement("link");c.href=b;c.rel="stylesheet";c.type="text/css";document.getElementsByTagName("head")[0].appendChild(c)}},a.init=function(){!0===a.gs&&function(b){jQuery("audio.mejs,video.mejs").not(".done").each(function(){function c(){var e=!0,h;for(h in d.css)a.cssload(d.css[h]);for(var f in d.plugins)"undefined"== typeof a.plug[f]?(e=!1,a.plug[f]=!1,jQuery.getScript(d.plugins[f],function(){a.plug[f]=!0;c()})):0==a.plug[f]&&(e=!1);e&&new MediaElementPlayer("#"+b,jQuery.extend(d.options,{success:function(a){function b(){jQuery(a).closest(".mejs-inner").removeClass(a.paused?"playing":"paused").addClass(a.paused?"paused":"playing")}b();a.addEventListener("play",b,!1);a.addEventListener("playing",b,!1);a.addEventListener("pause",b,!1);a.addEventListener("paused",b,!1);g.attr("autoplay")&&a.play()}}))}var g=jQuery(this).addClass("done"), b;(b=g.attr("id"))||(b="mejs-"+g.attr("data-id")+"-"+a.c++,g.attr("id",b));var d={options:{},plugins:{},css:[]},e,h;for(e in d)if(h=g.attr("data-mejs"+e))d[e]=jQuery.parseJSON(h);c()})}(jQuery)});a.gs||("undefined"!==typeof mejscss&&a.cssload(mejscss),a.gs=jQuery.getScript(mejspath,function(){a.gs=!0;a.init();jQuery(a.init);onAjaxLoad(a.init)}))})();
     1var mejsloader;
     2(function(){var a=mejsloader;"undefined"==typeof a&&(mejsloader=a={gs:null,plug:{},css:{},init:null,c:0,cssload:null});a.init||(a.cssload=function(c){if("undefined"==typeof a.css[c]){a.css[c]=!0;var b=document.createElement("link");b.href=c;b.rel="stylesheet";b.type="text/css";document.getElementsByTagName("head")[0].appendChild(b)}},a.init=function(){!0===a.gs&&function(c){jQuery("audio.mejs,video.mejs").not(".done").each(function(){function b(){var e=!0,h;for(h in d.css)a.cssload(d.css[h]);for(var f in d.plugins)"undefined"==
     3typeof a.plug[f]?(e=!1,a.plug[f]=!1,jQuery.getScript(d.plugins[f],function(){a.plug[f]=!0;b()})):0==a.plug[f]&&(e=!1);e&&jQuery("#"+c).mediaelementplayer(jQuery.extend(d.options,{success:function(a,c){function b(){var b=jQuery(a).closest(".mejs__inner");a.paused?(b.addClass("pausing"),setTimeout(function(){b.filter(".pausing").removeClass("playing").removeClass("pausing").addClass("paused")},100)):b.removeClass("paused").removeClass("pausing").addClass("playing")}b();a.addEventListener("play",b,!1);
     4a.addEventListener("playing",b,!1);a.addEventListener("pause",b,!1);a.addEventListener("paused",b,!1);g.attr("autoplay")&&a.play()}}))}var g=jQuery(this).addClass("done"),c;(c=g.attr("id"))||(c="mejs-"+g.attr("data-id")+"-"+a.c++,g.attr("id",c));var d={options:{},plugins:{},css:[]},e,h;for(e in d)if(h=g.attr("data-mejs"+e))d[e]=jQuery.parseJSON(h);b()})}(jQuery)});a.gs||("undefined"!==typeof mejscss&&a.cssload(mejscss),a.gs=jQuery.getScript(mejspath,function(){a.gs=!0;a.init();jQuery(a.init);onAjaxLoad(a.init)}))})();
  • _core_/branches/spip-3.2/plugins/medias/modeles/audio.html

    r103754 r108317  
    55        [(#LOGO_DOCUMENT{vignette}|image_reduire{#GET{largeur},0}|vider_attribut{class})]
    66<div class="audio-wrapper"[ style='width:(#GET{largeur})px;max-width:100%;']>
    7         <audio class="mejs mejs__player mejs-#ID_DOCUMENT [ mejs-(#ENV{skin})]"
     7        <audio class="mejs mejs-#ID_DOCUMENT [ mejs-(#ENV{skin})]"
    88               data-id="[(#VAL{mejs-#ID_DOCUMENT}|concat{#ENV{skin}}|md5)]"
    99               src="#FICHIER"
  • _core_/branches/spip-3.2/plugins/medias/paquet.xml

    r108306 r108317  
    22        prefix="medias"
    33        categorie="multimedia"
    4         version="2.20.19"
     4        version="2.20.20"
    55        etat="stable"
    66        compatibilite="[3.2.0;3.2.*]"
Note: See TracChangeset for help on using the changeset viewer.