Prima di tutto grazie per il tuo tempo. Vediamo di approfondire un pochetto. Quello che scrivi mi aiuta a capire ma mi apre nuove incognite sul problema.
codice:
<script>
// handler
window.onerror = myOnError;
Qui si crea una variabile di nome myOnError che deve contenere gli output della funzione onerror la quale agisce su tutto il contenuto di windows ovvero del layout.
codice:
msgArray = new Array();
urlArray = new Array();
lnoArray = new Array();
Qui si creano 3 matrici chiamate msgArray, urlArray e lnoArray.
codice:
function myOnError(msg, url, lno) {
msgArray[msgArray.length] = msg;
urlArray[urlArray.length] = url;
lnoArray[lnoArray.length] = lno;
return true;
}
Qui si crea una funzione che aggiunge agli elementi delle matrici msgArray, urlArray e lnoArray un preciso valore indicato nell'argomento della funzione stessa senza cancellare i precedenti. Non mi é chiaro però il significato di 'return true'. Questa funzione tra il resto funziona allo stesso modo se al posto di true non ci metto niente oppure se ci metto 'false'. Non mi é chiaro la differenza tra questi 3 possibili valori.
codice:
function displayErrors() {
win2 = window.open('','window2','scrollbars=yes');
win2.document.writeln('Error Report
');
for (var i=0; i < msgArray.length; i++) {
win2.document.writeln('Error in file: ' + urlArray[i] + '
');
win2.document.writeln('Line number: ' + lnoArray[i] + '
');
win2.document.writeln('Message: ' + msgArray[i] + '
');
}
win2.document.close();
}
In base a quanto letto sui miei manuali qui si crea un'altra funzione che apre un'altra finestra di nome win2 senza url di titolo o variabile windows2 e dotata di barra di scorrimento. In pratica si apre un'altra finestra e basta, perché? Perché non c'é il titolo? Che significato avrebbe una variabile associata a questo elemento?
Dentro win2 la funzione dovrebbe andare a scrivere 'Error Report' e lo fa ma poi si ferma li.
Il ciclo for che segue dovrebbe andare a scrivere il contenuto delle famosi 3 variabili create in precedenza ma se non vi sono stati assegnamenti di variabili non può scrivere nulla quindi a cosa serve questo ulteriore pezzo di codice della seconda funzione?
'win2.document.close();' chiude il canale di scrittura aperto con il metodo open() e determina la visualizzazione dei dati in attesa.
Come vedi ho capito solo in parte il codice e il discorso fatto in questa pagina:
http://javascript.html.it/guide/lezi...degli-oggetti/
mi aiuteresti a capire bene le mie incognite e potresti spiegarmi la ragione che ha portato lo scrittore della guida ad aggiungere il ciclo for?
Grazie ancora