Améliorations variées du site Web de CISM
// ==UserScript==
// @name CISM++
// @namespace http://eepp.ca/
// @version 0.2
// @description Améliorations variées du site Web de CISM
// @author Philippe Proulx
// @match *://cism893.ca/*
// @grant none
// ==/UserScript==
// sauvegarde de l'initialisation originale de FicheEmission
var ficheEmissionInit = FicheEmission.prototype.initialize;
// modification des temps
function alterTimes() {
// HH:MM:SS -> nombre de secondes
function hhmmss2secs(hhmmss) {
var tokens = hhmmss.split(':');
var mul = 1;
var secs = 0;
for (var i = tokens.length - 1; i >= 0; --i) {
secs += parseInt(tokens[i]) * mul;
mul *= 60;
}
return secs;
}
// étiquettes de temps
var $times = $('.episodes-list time');
$times.each(function() {
var $time = $(this);
// changer seulement si ce n'est pas déjà fait
if (!$time.attr('data-secs')) {
// attribut "data-secs" contient le nombre de secondes
$time.attr('data-secs', hhmmss2secs($time.text()));
// style
$time.css('color', '#ee393e');
$time.hover(function() {
$(this).css('color', '#6d090c');
}, function() {
$(this).css('color', '#ee393e');
});
// action (sauter au bon endroit dans l'audio en cours de lecture)
$time.click(function(ev) {
ev.stopPropagation();
player.seekTo(parseInt($time.attr('data-secs')) / player.duration * 100);
});
}
});
}
// nouvelle initialisation de FicheEmission
FicheEmission.prototype.initialize = function() {
// modifier les temps de la fiche chargée
alterTimes();
// appeler l'initialisation originale de FicheEmission
ficheEmissionInit.call(this);
};
$(document).ready(function() {
// modifier les temps chargés avec la page
alterTimes();
});