Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    onload, a quali elementi posso applicarlo?

    Salve,

    utilizzo joomla da poco tempo e oggi ho trovato un ostacolo che non riesco a superare.
    Joomla crea automaticamente il codice html generandolo da dati del database.
    Il mio tag <body> viene generato in maniera automatica per tutte le pagine.
    Se modifico il tag in questione così: <body onload="funzione1; funzione2">
    tutti i tag <body> del sito avranno l'onload delle due funzioni.
    Così facendo nelle pagine in cui non sarà presente la funzione il browser mi restituirà errore.
    Ho provato a utilizzare l'onload su tag differenti ad esempio su div presenti solo su di una determinata pagina, ma niente, le due funzioni non si caricano (lo so che non si può ma ho voluto comunque tentare).
    Detto ciò:
    - Esistono altri tag oltre a img e body che vanno bene per tale elemento?
    - Esiste un modo per creare un onload nella funzione?

    per la seconda domanda mi spiego meglio:
    nella pagina è presente la funzione, apro la pagina, parte la funzione al caricamento della pagina.

    Grazie mille per i chiarimenti!

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Boh... sicuro di quello che dici, non conosco joomla ma mi sembrerebbe una limitazione enorme per uno di cms + diffusi.
    Hai provato a chiedere sul forum CMS conferma di quanto affermi?
    Premesso questo onload è supportato da i tag img,body,frameset, (layer non sono sicuro) puoi richiamare onload anche cosi:
    window.onload=function(){qui va lo script} oppure
    window.onload=NomeFunctio;NomeSecondaFUnzione;Etc. .
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Grazie per la risposta!

    Però ho un terribile ma terribile problema:

    come già temevo, utilizzando window.onload più volte, l'ultima funzione sovrascrive quella precedente e ho sentito che la soluzione è difficile.
    Non esiste un modo tipo window.onload e poi funzione1.onload ?

    In modo da non riferirmi allo stesso oggetto...

    Help

  4. #4
    up...

  5. #5
    up ancora.

    Qualcuno sa darmi una mano?

  6. #6
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    guarda che e' pieno di risorse al riguardo, basta cercare

    una qualsiasi:
    http://ekduitin.wordpress.com/2009/0...in-javascript/

    anche solo la terza soluzione,
    invece di richiamare
    window.onload=function(){tuaFunzione('argomento'); }
    richiami
    addLoadEvent(tuaFunzione('argomento'))
    e lo puoi fare quante volte vuoi

    ciao

  7. #7
    Ciao Xinod,

    scusa ma proprio non riesco ad applicarlo.

    Ho provato a utilizzare separatamente entrambe le funzioni e entrambe funzionano.

    Ho provato a fare così: window.onload=funzione1;funzione2; ma parte solo la prima.

    poi ho provato: window.onload=function(){

    function1;

    function2;

    }

    ma non parte nessuna delle due funzioni.

    Possibile che sia così difficile?

    Scusa ma in javascript sono alle prime armi

  8. #8
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    se fai cosi'
    window.onload=funzione1;
    non puoi aggiungerne altre
    (ne' passare valori come argomenti della funzione)

    se fai cosi' servono le parentesi e ne accodi quante ne vuoi
    window.onload=function(){
    function1();
    function2("valore");
    }

  9. #9
    Utente bannato
    Registrato dal
    Apr 2009
    Messaggi
    530

    window.onload vs. addLoadEvent

    Il problema con window.onload è che viene molto probabilmente già impiegato negli script del CMS, e metterne altri crea conflitto.

    Posso proporre un' altra elegante soluzione, passando attraverso una funzione intermedia che controlla l' URL della pagina, e, e solo se, corrisponde a quello indicato nell' if-statement, da' esecuzione a function1(); e function2(); altrimenti (else), non esegue niente (donothing).


    &#60;script type="text/javascript"&#62;

    function setUp(){

    &#160; if(document.location.href=="percorso/filename.html"){

    &#160; &#160; function1();
    &#160; &#160; function2();

    &#160; } else {
    &#160; &#160; //donothing;
    &#160; }


    &#160;};

    &#60;/script&#62;

    &#60;/head&#62;
    &#60;body onload="setUp();"&#62;

  10. #10
    Grazie xinod! Bastava solo mettere le parentesi dell'argomento

    Enzaccio il tuo script promette bene, se ne avrò bisogno non esiterò ad usarlo

    Ciao!

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.