Spesso quando creo i siti utilizzo pesantemente gli include server side, dapprima con coldfusion tramite <cfinclude…> poi con la chiamata di IIS <!– #include….–>, ma penso che chiunque sia interessato all’argomento conosco la cosa benissimo. Comunque piccolo esempio:
<!-- #include file="include/connection.asp" -->
Le parti che includono la maggior parte delle volte sono pezzi di layout condiviso in tutto il sito, tipo menù laterali, top, footer, etc. Uso spesso anche i template di Dreamweaver, ma se il materiale è in file esterni si rischia molto meno il cu*o in caso di rottura del template. E’ un attimo fare danni, specie se editiamo qualcosa fuori di DW.
Uno dei problemi nel caso di menù "esternizzati" è il precarimento delle immagini. Se facciamo tutto su DW alla fine più o meno si arrangia lui a sistemare il preload dentro al window.load, se però ce l’abbiamo in file diversi dobbiamo gestirlo a mano.
Partiamo da un concetto, dichiarazioni multiple di window.onload, non sono additive. Quindi l’ultima dichiarazione caricata dal browser è chiaramente quella che lui esegue. Per risolvere questo "conflitto" ho trovato uno script molto utile, niente di particolarmente complesso, ma sicuramente una ottima idea: Window Onload Manager (WOM).
Il funzionamento è molto semplice. Invece di caricare le varie azioni da fare al caricamento direttamente sull’evento onLoad, le carichiamo su un’array che alla fine richiamerà tutto le funzioni all’onload.
//questa funzione dice di caricare la funzione womGo all'onload
function womOn(){
window.onload = womGo;
}
//wowGo, quando è chiamato, esegue tutte le funzioni inserite nell'array
function womGo(){
for(var i = 0;i < woms.length;i++)
eval(woms[i]);
}
//wowAdd aggiunge una funzione all'array
function womAdd(func){
woms[woms.length] = func;
}
//dichiarazione globale dell'array
var woms = new Array();
//esempio...
womAdd('hideDiv("rightBox")');
womAdd('ajaxInit()');
womAdd('setHandler("tr","mo","onmouseover","rowHightlight")');
womOn();
Penso sia tutto chiarissimo. Vero?
Pingback: Dreamweaver Rollover
Pingback: Toglie il peso di Disqus dalla pagina