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

    [javascript] window.onerror su ff e moz

    Salve a tutti, ho il seguente problema:

    se alla fine di uno script, ovvero subito prima del tag</script> metto:

    window.onerror = alert("errore");

    - su IE6 quando genero un'errore mi esce l'alert,
    - sue firefox o mozilla, appena carico la pagina mi esce l'alert, anche se nella pagina non figura nessun errore, nonostante ciò, quando viene generato un errore, l'alert mi esce lo stesso continuando a funzionare tutto regolarmente.

    come posso evitare questo inconveniente???

    Grazie, ciao.

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    quando setti un gestore evento via javascript puoi richiamare solo una funzione, senza passare parametri e omettendo le parentesi
    codice:
    funzione allerta(){
      alert('errore');
    }
    window.onerror=allerta;
    oppure puoi richiamare una funzione anonima non definita prima nello script
    codice:
    window.onerror=function(){alert('errore');};
    questo puo' tornarti utile nel caso tu debba passare valori alla funzione, x es.
    codice:
    funzione allerta(cosa){
      alert(cosa);
    }
    window.onerror=function(){allerta('errore');};
    ciao

  3. #3
    Perdonami Xinod, ma ho provato a fare come mi hai detto te, ma non funziona lo stesso, per ulteriori chiarimenti posto le parti del codice interessato:

    nella head
    codice:
    <script language="javascript" type="text/javascript">
    function Errore(){
     document.getElementById("errore").style.display = "block";
     return true;
    }
    
    widow.onerror=Errore;
    </script>
    }
    nel body
    codice:
    <div id="errore" style="position:absolute;left:200px;top:0px; display:none">
    Si è verificato un'errore
    </div>
    Grazie, ciao.

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    immagino sia una svista widow al posto di window

    cmq a me funziona, ti faccio un es. che ti fara' capire dove sbagli
    codice:
    <html>
    <head>
    <title></title>
    <script language="javascript" type="text/javascript">
    function Errore(){
     document.getElementById("errore").style.display = "block";
    }
    
    window.onerror=Errore;
    </script>
    </head>
    <body>
    <div id="errore" style="position:absolute;left:200px;top:0px; display:none">
    Si è verificato un'errore
    </div>
    <script>
    var t=ciao;
    </script>
    </body>
    </html>
    qui l' errore si verifica dopo che l' elemento con id="errore" e' stato definito nell' html
    se l' errore fosse presente nell' head l' elemento di cui cerchi di manipolare il display non sarebbe ancora stato definito...

  5. #5
    è vero, per accertarmene, ho provato a spostare l'errore nelle varie parti del documento, ed ho capito dove sbagliavo,
    stranamente adesso mi funzionano anche tutte le altre cose in sospeso, boh! :master:

    non è che hai qualche bacchetta magica sotto al letto ???

    Grazie, 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.