si tratta di iotbs2 (invasion of the body switcher), una soluzione java per cambiare uno o anche più fogli di stile, ho ripiegato su java perchè la soluzione php che avevo indicato nel mio post precedente non ha funzionato, e questo switch si è rivelato estremamente vertsatile, alla seguente pagina ci sono tutti gli esempi, il download e la documentazione per l'utilizzo(però non è molto facile capire bene le nomenclature da rispettare, io c'ho messo 2 giorni per farlo funzionare correttamente...)
http://brothercake.com/site/resources/scripts/iotbs/
siccome mi serviva che nella pagina contatti in cui ospito un un iframe con id cambiasse a sua volta lo stile quando selezionato ho apportato una modifica nel file "directors.js" che crea i link per selezionare gli stili in modo che cliccando sui link oltre a cambiare lo stile se viene trovato l'id che identifica l'iframe questo viene refreshato(la pagina caricata nel frame si trova sul mio dominio e fà a sua volta riferimento agli script come la pagina parent, così al refresh legge il cookie con la variabile scelta e cambia lo stile mettendo il css relativo, ho creato un unico foglio di stile che regola tutte le pagine del sito per facilitarmi la vita).
l'unica pecca, come dicevo all'inizio, è quel "flash" dello stile di default navigando da una pagina all'altra(presente come normale link nel codice della pagina e che viene selezionato se non c'è un cookie da leggere o se java è disattivato, evitando il pericolo che non venga importato nessuno stile nel caso lo switcher non sia utilizzabile), si verifica più in explorer che negli altri browser, ma è comunque bruttino da vedere...
cercando per una soluzione ho letto che anche mettendo gli href degli script in cima alla pagina anche se questi vengono scaricati per primi ciò non significa che siano i primi ad essere eseguiti, quindi vorrei fare in modo che quando la finestra è caricata la primissima cosa che deve essere eseguita è lo script in modo che legga il cookie e imposti immediatamente lo stile
sò che è possibile richiamare delle determinate funzioni al caricamento della finestra (window.onload = function name()ma nessuna delle funzioni contenute nello script a un nome identificativo...
nella cartella "src" dello zip ci sono gli script non compattati con le istruzioni dei passaggi a commento, credo che la funzione che legge il cookie sia quella nel core.js da riga 231(//read a cookie method) a 277 (return this.cookie....