Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    window.onload in un .js sì in più di uno no?

    ho messo un window.onload in un js esterno ma non mi funzionava più un altro in un altro js

    se si hanno dei js esterni solo uno può avere un window.onload?

    avrei già risolto mettendo la funzione che volevo caricare nell'altro window.onload nel primo script ma mi faceva un po' più comodo separarla, c'è un motivo?
    4 pag. x il forum:l'ospite ora ha solo link sponsorizzati, valli a capire-GommaLayout! Agg. 25 agosto 2004)-Molla&Collano privati tecnici, per favore

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Hai appena risposto ad un altro utente di mettere le chiamate nello stesso evento, separate da puntievirgola.
    Il discorso per il tuo problema e` lo stesso.

    Non ci possono stare due document.onload nella stessa pagina (nota: onload si applica al documento, non alla finestra; i browser correggono automaticamente).
    Il secondo sovrascrive il primo.

    Nota ulteriore: l'evento onload che metti nel tag <body> e` la stessa cosa che mettere document.onload nel JS, quindi anche questo puo` sovrascrivere o essere sovrascritto dal codice negli script.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Originariamente inviato da Mich_
    Hai appena risposto ad un altro utente di mettere le chiamate nello stesso evento, separate da puntievirgola.
    sì ma gli ho specificato che non ne sapevo nulla

    Il discorso per il tuo problema e` lo stesso.
    Non ci possono stare due document.onload nella stessa pagina (nota: onload si applica al documento, non alla finestra; i browser correggono automaticamente).
    Il secondo sovrascrive il primo.

    Nota ulteriore: l'evento onload che metti nel tag <body> e` la stessa cosa che mettere document.onload nel JS, quindi anche questo puo` sovrascrivere o essere sovrascritto dal codice negli script.
    ho capito che non posso usarne più d'uno in qualunque posto lo metta, c'è un motivo particolare? eliminare alla radice problemi di conflitti? perché può diventare problematico, nel mio caso è poca cosa e me la cavo con un if ma potrebbe servire avere in pagine particolari ad esempio un javascript comune a tutte le pagine coi suoi onload e in quella pagina alcuni altri e non si può fare?

    ancora: quindi la scrittura corretta è document.onload e non window? caspiterina mica ce lo sapevo.

    edit

    mi do una mezza risposta da solo:

    si può fare un js dedicato solo agli onload ed eventualmente modificarlo per le pagine che ne richiedano di particolari
    4 pag. x il forum:l'ospite ora ha solo link sponsorizzati, valli a capire-GommaLayout! Agg. 25 agosto 2004)-Molla&Collano privati tecnici, per favore

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    onload e` un evento, che si applica al body (o document) e alle immagini.

    Come non si puo` mettere due volte l'evento onclick in un link, cosi` non si puo` mettere due volte l'evento onload.

    Puoi vederlo comne un "post-it" (quei fogliettini di carta preincollata che piacciono tanto alle segretarie) che il sistema si mette in particolari punti. In ogni punto non ci puo` stare piu` di un post-it. Pero` su un post-it ci possono stare piu` di un appunto.

    Ogni volta che chiami onload, viene sovrascritto l'onload precedente.

    Se proprio vuoi puoi:
    1. definisci una variabile a stringa prima di tutte le chiamate agli script (ad esempio var set_onload = ""; );
    2. in ogni script anche esterno aggiungi qualcosa a tale stringa (ad esempio set_onload += "intial_campo();"; al posto dell'istruzione document.onload="intial_campo();" );
    3. alla fine di ogni chiamata agli script metti un onload generale:
    document.onload=set_onload;
    (che puo` stare anche in fondo alla pagina, se hai script richiamati/definiti dentro il body).

    E` solo una propsta estemporanea: magari ci sono metodi migliori.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    ci rinuncio, per ora uso l'if nella funzione e caso mai passo a un .js dedicato solo all'onload

    però

    ho sostituito window.onload con document.onload e sia mozilla che ie non lo leggono, almeno non mi leggono più i cookie mentre opera pare di sì.

    :master:
    4 pag. x il forum:l'ospite ora ha solo link sponsorizzati, valli a capire-GommaLayout! Agg. 25 agosto 2004)-Molla&Collano privati tecnici, per favore

  6. #6
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    ho sempre visto usare window.onload

    cmq si possono far eseguire (accodandole) n istruzioni onload anche con un window.onload o un <body onload già ben definiti nella pagina,
    avevo postato uno script poco tempo fa ma non lo ritrovo, aspetta...

  7. #7
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    codice:
    <script type="text/javascript" language="JavaScript">
    <!--
    
    function altraFunzioneOnload(){
    	alert('secondo alert')
    }
    
    /**********************************\
      NOTA:
      con Opera e Moz il secondo alert
      viene richiamato prima del primo
    \**********************************/
    
    function _attachToEvent (obj, name, func) {
      name = name.toLowerCase();
      if(obj.addEventListener) obj.addEventListener(name, func, false);
      else if(obj.attachEvent) obj.attachEvent("on"+name, func);
    }
    _attachToEvent(window, "load", altraFunzioneOnload); 
    
    window.onload=function(){alert('primo alert');}
    //-->
    </script>

  8. #8
    grazie xinod ma non so come usarla,

    cioè non metto funzioni nella pagina e se quella la uso esterna dovrei a sua volta richiamarla con un altro onload?

    :master:
    4 pag. x il forum:l'ospite ora ha solo link sponsorizzati, valli a capire-GommaLayout! Agg. 25 agosto 2004)-Molla&Collano privati tecnici, per favore

  9. #9
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    in che senso?
    _attachToEvent(window, "load", altraFunzioneOnload);

    questo richiama la funzione x accodare all' onload,
    non ti serve un onload per richiamarla
    :master:

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259
    Anche a me risulta che window abbia l'evento onload, mentre document no

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.