jQuery: gestire gli errori delle immagini
Tre soluzioni efficaci per gestire gli errori delle immagini con jQuery.
Le immagini in JavaScript non sono solo elementi del DOM ma anche oggetti particolari. Un evento associato alle immagini è l'evento error, che solitamente si innesca quando il browser non riesce a caricare l'immagine specificata (per esempio se l'URL è sbagliato). Possiamo usare jQuery per gestire questa eventualità. Vediamo come.
Possiamo ad esempio sostituire l'immagine mancante con un'immagine predefinita:
$('img').error(function(){
$(this).attr('src', 'default.png');
});
O nasconderla del tutto:
$('img').error(function(){
$(this).hide();
});
Infine, potremmo usare AJAX per avvisare il gestore del sito via e-mail:
$('img').error(function() {
var $img = $(this),
parent = $img.parent(),
parentContent = parent.html(),
message = "L'immagine contenuta in \n\n" + parentContent + '\n\n non è disponibile.',
title = 'Errore nel caricamento delle immagini';
$.ajax({
type: 'POST',
url: 'logger.php',
data: 'title=' + encodeURIComponent(title) + '&message=' +
encodeURIComponent(message),
success: function() {}
});
});
Ovviamente lo script lato server può anche essere concepito per eseguire il logging dell'errore senza utilizzare l'invio e-mail.
Commenti