Jquery: plugin per determinare l'età di un documento linkato
27/11/2012Nel fornire documentazione in formato PDF o Word, può esser molto utile indicare all'utente l'età del documento stesso, indicazione che può di per se evidenziare l'attualità di un contenuto.
Neal Grosskopf ha sviluppato un interessantissimo plugin Jquery che svolge automaticamente questo compito.
Sarà solo nostra cura nel pubblicare il link inserire l'attributo rel indicando la data di creazione del documento (nel formato rel="2012-11-23" dunque aa-mm-gg): Jquery provvederà a calcolare automaticamente il tempo trascorso dalla data dichiarata e la data attuale di visualizzazione del contenuto, stampando a fianco del link la differenza di giorni.
Dopo aver fatto la classica chiamata alla libreria Jquery più aggiornata, come descritto in questo articolo, lo script da inserire è questo (ho apportato alcune piccole modifiche all'originale che potete trovare qui):
(function($){
$.fn.newClass = function(attr,classname,offset,debug){
var now = new Date();
var day = 1000*60*60*24;
return this.each(function(i){
var old = new Date($(this).attr(attr));
var diff = Math.floor((now.getTime() - old.getTime()) / day);
if(diff < offset) $(this).addClass(classname);
if(debug)
if (diff== 1) {
$(this).append(" (documento di " + diff + " giorno fa)"); }
if (diff> 1) {
$(this).append(" (documento di " + diff + " giorni fa)"); }
});
}
})(jQuery);
$(document).ready(function(){
$("#content a").newClass("rel","new",90,true);
});
Lo script opererà quindi sui link contenuti nel div content, sulla base di questa chiamata:
a href="nome_file.pdf" rel="2012-11-23"