Guida alla creazione di anteprima di immagini per post

« Older   Newer »
  Share  
view post Posted on 21/5/2009, 01:49
Avatar

Senior Member

Group:
NB Developers
Posts:
19,328

Status:


Guida alla creazione di thumbnails per post

Versione 1, compatibile anche con Internet Explorer



Browser compatibili: gif firefox pngoperab

L'idea di creare questo semplice script è nata dall'esigenza di evitare che le grandi immagini postate in un messaggio, deformino la pagina rendendo la lettura fastidiosa e poco scorrevole.
Infatti lo script non fa altro che creare un anteprima dell'immagine di una larghezza massima di 100px (personalizzabile).
Si ricorda che l'uso di questo script deve essere accurato, facendo attenzione a non usarlo per immagini con larghezza inferiore a quella prestabilita ( di default 100px).Un uso scorretto potrebbe portare all'effetto contrario. Ovvero vedere l'immagine più grande delle dimensioni reali.

Come prima cosa, inseriamo in Gestione HTML > In cima al sito il codice

HTML
<style type="text/css">
.thnail {background-image:url(http://img8.imageshack.us/img8/6722/37182090.gif); background-repeat:no-repeat; width: 100px}
</style>


Serve per creare la "targhetta"
THUMBNAIL
sotto l'anteprima dell'immagine, e settare la larghezza massima dell'anteprima. E' possibile modificare la larghezza dell' etichetta, e del thumbnail, modificando il valore 100px.


Successivamente inserire in Gestione HTML > in fondo al sito:

HTML
<script type="text/javascript">
<!--
//Prelevato da NewsBoard Forum
//Autore: 1Dan

if (document.URL.indexOf("?act=Post")!=-1||document.URL.indexOf("?t=")!=-1)
document.REPLIER.IMG.onclick=img_popup;

function img_popup()
{

var DIM="100" //numero di pixel da mostrare nell'alert

var Err="Devi inserire un'url!";
var modalita = confirm("Desideri inserire un'anteprima dell'immagine?\n\nATTENZIONE: se l'immagine ha una larghezza inferiore a "+DIM+"px, se ne sconsiglia la creazione");
URL=prompt("Inserire link dell'immagine","http://");

if(!URL)
{
alert("Error! "+Err); return;
}

if(modalita) {

tag('<a target="_blank" href="'+URL+'"><img class="thnail" src="'+URL+'"><div class="thnail">&nbsp;</div></a>','');

}else {

tag("[IMG]"+URL+"[/IMG]","");

}
}
//-->

</script>


Settare la grandezza dell'anteprima (di default 100px), in questa stringa

HTML
var DIM="100" //numero di pixel da mostrare nell'alert

Questo valore che rappresenta il numero di pixel dell'anteprima, nel messaggio d'avvertimento, deve essere congruente al valore settato nel CSS

Se si desidera rimuovere la targhetta "thumbail", basta sostituire la stringa

HTML
tag('<a target="_blank" href="'+URL+'"><img class="thnail" src="'+URL+'"><div class="thnail">&nbsp;</div></a>','');

con
HTML
tag('<a target="_blank" href="'+URL+'"><img class="thnail" src="'+URL+'"></a>','');


Lo script viene richiamato tramite il pulsante IMG, dove verrà chiesto se abilitare l'anteprima o meno, mettendo in evidenza le condizioni d'uso.

Nel caso si accettasse la creazione dell'anteprima, si otterrà un codice del tipo:
HTML
<a target="_blank" href="http://link_immagine"><span class="thnail"><img alt="" src="http://link_immagine"><div class="thnail">&nbsp;</div></span></a>
<a target="_blank" href="http://link_immagine"><img class="thnail" src="http://link_immagine"><div class="thnail">&nbsp;</div></a>

Nel codice troviamo:

  • Il tag <a> per creare un link all'immagine in dimensioni reali

  • il tag <img> per inserire l'immagine scelta, come anteprima

  • il tag <div> per creare la targhetta "thumbnails"


Nel caso invece si rifiutasse la creazione dell'anteprima, si otterrà il classico tag BBCODE

HTML
[IMG]http://link_immagine[/IMG]


Guida alla creazione di thumbnails per post è una guida realizzata da 1Dan solo per il NewsBoard Forum.
E' vietata qualsiasi copia non autorizzata
 
Top
view post Posted on 21/5/2009, 12:14
Avatar

Senior Member

Group:
NB Developers
Posts:
19,328

Status:


Guida alla creazione di thumbnails per post

Versione 2, non compatibile con Internet Explorer



Browser compatibili: image imageimage


La seguente versione risulta non essere compatibile con tutti i browsers, o meglio, con Internet Explorer,ed è una versione con alcune funzionalità in più, infatti questa, consente di creare un pop up al passaggio del mouse sull'anteprima.
Su Internet Explorer lo script non ha alcun effetto, questo solo perchè viene usato l'attributo max-width che non è supportato dal medesimo browser.

Una volta fatte queste premesse possiamo passare alla procedura.

Come prima cosa, inseriamo in Gestione HTML > In cima al sito il codice
HTML
<!--[if !IE]>-->
<style type="text/css">
.thnail {position: relative; z-index: 0;background-color:#000 !important;background-image: url(http://img8.imageshack.us/img8/6722/37182090.gif) !important;background: center bottom no-repeat;padding-bottom:11px;line-height:40px }
.thnail:hover{background-color: transparent; z-index: 50}
.thnail span{position: absolute; background-color: lightyellow; padding: 5px; left: -1000px; border: 1px dashed gray; visibility: hidden;}
.thnail span img{border-width: 0; padding: 2px}
.thnail:hover span{ visibility: visible; top: 0; left: 60px}
</style>
<!--<![endif]-->

<!--[if IE]>
<style type="text/css">
.thnail span{display:none}
.thnail:hover span{ visibility: hidden}
</style>
<![endif]-->


Analizziamo il primo codice:
HTML
<!--[if !IE]>-->
<style type="text/css">
.thnail{position: relative; z-index: 0;background-color:#000 !important;background-image: url(http://img8.imageshack.us/img8/6722/37182090.gif) !important;background: center bottom no-repeat;padding-bottom:11px;line-height:40px }
.thnail span{position: absolute; background-color: lightyellow; padding: 5px; left: -1000px; border: 1px dashed gray; visibility: hidden;}
.thnail span img{border-width: 0; padding: 2px}
.thnail:hover span{ visibility: visible; top: 0; left: 60px}
</style>
<!--<![endif]-->

Praticamente indichiamo di applicare lo stile soltanto qualora non si usasse Internet Explorer. Le poche righe di CSS è lo script CSS pop up image viewer ormai noto.

La parte a seguire

HTML
<!--[if IE]>
<style type="text/css">
.thnail span{display:none}
.thnail:hover span{ visibility: hidden}
</style>
<![endif]-->


Indica di non mostrare il pop up,qualora si usasse Internet Explorer, dal momento che l'immagine inserita è direttamente nelle dimensioni reali.

E' possibile modificare l'immagine con la scritta
THUMBNAIL
,visualizzata nell'anteprima, modificando nella stringa
CODICE
.thnail{position: relative; z-index: 0;background-color:#000 !important;background-image: url(http://img8.imageshack.us/img8/6722/37182090.gif) !important;background: center bottom no-repeat;padding-bottom:11px;line-height:40px }

l'immagine: http://img8.imageshack.us/img8/6722/37182090.gif
oppure rimuoverla completamente usando
CODICE
.thnail{position: relative; z-index: 0}


Queste sono le poche righe di CSS necessarie per creare il pop up, e si consiglia di non modificare il codice, se non si hanno modeste conoscenze.
Passiamo ora al javascript.

Inserire in Gestione HTML > In fondo al sito

HTML
<script type="text/javascript">
<!--
//Prelevato da NewsBoard Forum
//Autore: 1Dan

if (document.URL.indexOf("?act=Post")!=-1||document.URL.indexOf("?t=")!=-1)
document.REPLIER.IMG.onclick=img_popup;

function img_popup()
{

var DIM="100"; //setta larghezza del thumbnail

var Err="Devi inserire un'url!";
var modalita = confirm("Desideri inserire un'anteprima dell'immagine?");
var URL=prompt("Inserire link dell'immagine","http://");

if(!URL) {alert("Error! "+Err); return;}

if(modalita) {
var popup = confirm("Desideri creare un pop up sull'immagine?");
str='<a class="thnail" target="_blank" href="'+URL+'"><img style="max-width:'+DIM+'px" src="'+URL+'">';
str+= (popup) ? '<span><img alt="" src="'+URL+'"></span>' : '';
str+='</a>';
tag(str,"");

} else {tag("[IMG]"+URL+"[/IMG]","");}

}
//-->

</script>



Anche in questo caso, la funzione viene richiamata dal bottone IMG che viene sovrascritto.
Lo script è guidato e vi porrà alcune domande al fine di creare il codice opportuno.

Come prima cosa, viene chiesto se si desidera creare un anteprima all'immagine o meno. Nel caso la risposta fosse negativa, verrà utilizzato il classico codice BBCODE per le immagini.In ogni caso comunque si presenta un prompt in cui inserire il link diretto dell'immagine.
Se si è scelto di creare un anteprima, a questo punto, viene chiesto se creare l'effetto pop up al passaggio del mouse, o avere esclusivamente l'anteprima 100px in larghezza.A seconda delle scelte selezionate potrete avere dei codici diversi:

HTML
[IMG]http://immagine[/IMG]
Se non si sceglie di creare l'anteprima.


HTML
<a class="thnail" target="_blank" href="http://immagine"><img style="max-width:100px" src="http://immagine"></a>
Se si sceglie di creare l'anteprima, ma senza l'effetto pop up.


HTML
<a class="thnail" target="_blank" href="http://immagine"><img style="max-width:100px" src="http://immagine"><span><img alt="" src="http://immagine"></span></a>
Se si sceglie di inserire l'anteprima con popup.


E' possibile modificare nella stringa
HTML
var DIM="100"; //setta larghezza del thumbnail
il valore 100, per variare le dimensioni dell'anteprima.


Nota: Il codice non è altro che un adattamento allo script CSS popup image viewer con un aggiunta di javascript per un inserimento rapido nei post.


Guida alla creazione di thumbail per i post è una guida realizzata da 1Dan solo per il NewsBoard Forum.
E' vietata qualsiasi copia non autorizzata
 
Top
1 replies since 21/5/2009, 01:49   5769 views
  Share