Visualizzazione risultati 1 fino 1 di 1

Discussione: [Javascript] window.onload = funzione() per IE

  1. #1
    Guest

    Predefinito [Javascript] window.onload = funzione() per IE

    Nel mio sito allego un file.js esterno.

    In questo file esterno ho, alla fine, una chiamata a:
    Codice PHP:
    function init() {
    if (
    getCookie("contrast") == null ) contrasto = "principal";
    else
    contrasto = getCookie("contrast");

    if (
    contrasto != "principal") setActiveStyleSheet();
    }

    window.onload = init();
    La funzione init() legge un cookie, in cui è impostato che tipo di foglio di stile ha preferito l'utente.

    La funzione va benissimo con firefox ed opera, e vi diro, anche per IE!

    Solo che IE la fa si funzionare perfettamente ma nel contempo mi segnala un errore javascript . Dice "non implementato".. (fate la prova voi stessi, usate IE, selezionate nel menu il foglio ad alto contrasto e scegliete qualche altra pagina del sito, si verificherà il problema)..

    Se anziche scrivere in quel modo scrivo direttamente:
    Codice PHP:
    window.onload = function() {
    if (
    getCookie("contrast") == null ) contrasto = "principal";
    else
    contrasto = getCookie("contrast");

    if (
    contrasto != "principal") setActiveStyleSheet();
    }
    Facendo così l'errore IE non lo da piu...

    In tutti e tre i browser però si verifica un inghippo:
    - l'utente è nella home del mio sito
    - Seleziona dal menu il foglio di stile "ad alto contrasto"
    - Po sceglie una qualsiasi altra pagina del mio sito, ad esempio clicca su un post per aprirlo
    - ...la nuova pagina parte sta per aprirsi ... ma ha il foglio di stile colorato non ad alto contrasto!
    - ...ma dopo qualche secondo il foglio di stile diventa ad alto contrasto cosi come aveva selezionato lui!

    L'effetto che ne deriva è sgradevole.. Attualmente invece, con tanto di errore fasullo di IE invece, il foglio di stile resta nero anche durante il cambiamento di pagina..

    Spero di essermi spiegato... Che fareste?


    EDIT: Come non detto... ***PROBLEMA RISOLTO***
    Ultima modifica di attorianzo : 06-03-2006 alle ore 10.28.41

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •