Newsgroup: it.comp.lang.javascript
Titolo: Problema con IE

Ciao a tutti,
sto sviluppando un sito per degli amici. Ho appena finito ma 
stupidamente l'ho sviluppato testando solo con firefox, ora ho provato 
ad aprirlo con explorer e mi da questo errore:
"previsto identificatore, stringa o numero"
nel file index.php alla riga 11
in quel file a quella riga non c'e' nulla, quindi ovviamente l'errore 
sarà in una dei file js che importo, come faccio a scoprire dove?
Frugando e mettendo qualche alert viene fuori che l'errore pare essere 
una cosa di sintassi che con firefox funge e con ie no.
Spiego cosa faccio e vediamo se sapete darmi qualche dritta.
File JS qualsiasi:
var textManager = null;
var ciao = "miao";
function start(){
   this.textManager = new TextManager();
   alert(this.textManager.getData());
}
function TextManager(){
   this.textManager = null;
   this.retrieveData();
}
TextManager.prototype.retrieveData= function(){
   this.data = {"a":"AAAA", "b":"BBBBB"};
}
TextManager.prototype.getData= function(){
   return this.data;
}
C'e' qualcosa che non va in questa sintassi... tutto il lavoro e' 
strutturato cosi', pls aiutoooo :(
Grazie a tutti
Ivan

    alert(this.textManager.getData());
come sopra
-- 
"qualcuno è andato per età
 qualcuno perchè già dottore
 e insegue una maturità, si è sposato, fa carriera
 ed è una morte un po' peggiore"
									    F.G.

 ti sparo lě una prova da fare:
Ho levato i this. ma errore sempre nello stesso punto e stesso errore
Cmq errata corrige... il codice della classe textManager l'ho scritto 
incasinato, le considerazioni su questo pls:
var textManager = null;
var ciao = "miao";
function start(){
   this.textManager = new TextManager();
   alert(this.textManager.getData());
}
function TextManager(){
   this.text = null;
   this.retrieveData();
}
TextManager.prototype.retrieveData= function(){
   this.text= {"a":"AAAA", "b":"BBBBB"};
}
TextManager.prototype.getData= function(){
   return this.text;
}

 ti sparo lě una prova da fare:
Cmq ho fatto un file di test con solo il codice che ho scritto 
nell'esempio e non mi da nessun errore, sia con il THIS che senza...
l'errore sara' da un'altra parte.
A questo punto visto che spedire tutto il sito non fa vi chiedo, esiste 
un qualche ide javascript dove posso mettere breack point o una qualche 
estensione per explorer che mi dice esattamente dove sta l'errore invece 
che indicarmi il file html che contiene tutti i file .js
Grazie ancora Ivan

    alert(this.textManager.getData());
e anche questo
io senza testarlo non vedo altri possibili errori ...
-- 
"Run rabbit run
 dig that hole, forget the sun
 and when at last the work is done
 don't sit down, it's time to dig another one"
									    P.F.

 che indicarmi il file html che contiene tutti i file .js
Con Visual Studio puoi....ma forse è un pelino esagerato installare il tutto 
per fare un test :-)
Hai provato a mettere un alert() tra un file .js e l'altro ?
<script type="text/javascript" src="file1.js"></script>
<script type="text/javascript">alert('file1 è corretto!')</script>
<script type="text/javascript" src="file2.js"></script>
<script type="text/javascript">alert('file2 è corretto!')</script>
etc...
In questo modo puoi capire quando si manifesta l'errore e quindi in quale 
file....
Ciauz,
HyP

 <script type="text/javascript">alert('file1 è corretto!')</script>
Proverò appena possibile.
Grazie

 sarà in una dei file js che importo, come faccio a scoprire dove?
Ho messo il sito online... se qualcuno riesce a dargli un'occhiata.
http://www.realjobspa.it
rigrazie

Mancano alcuni puntoevirgola nei file js...
Ad esempio a riga 37 di /js/files.js

 Ad esempio a riga 37 di /js/files.js
Oh my god... credevo non fossero obbligatori!!!

 Oh my god... credevo non fossero obbligatori!!!
se vai a capo non sono obbligatori (IMHO č buona programmazione metterli
comunque)


 
http://www.realjobspa.it
Ellapeppa, ma quanti file .js ci avete messo?? :)
Comunque vi sono diversi errori di quel tipo (previsto identificatore
stringa o numero), e i vari numeri di riga corrispondono a istruzioni
uguali, anche se in file o oggetti differenti.
La riga incriminata è la seguente:
	eval(response);
Che si trova, ad esempio, in "map.js", riga 38.
Non sono stato ad indagare troppo oltre, vista la quantità di codice
in gioco, ma indubbiamente l'errore sta qui. E' molto probabile, che
il testo contenuto nella variabile response, contenga degli errori o
sia lui stesso l'errore.
Ho notato poi l'uso indiscriminato e spropositato che viene fatto di
eval, anche quando non ve ne è alcuna necessità, e senza nessun tipo
di controllo per la sicurezza.
Non è chiaro, per esempio, cosa ci faccia un eval da queste parti:
function ajaxRequest(url, method, callback, asyn){
/* .. */
	var xmlhttp = eval("new ActiveXObject('Microsoft.XMLHTTP');");
/* .. */
	var xmlhttp = eval("new XMLHttpRequest();");
E' del tutto inutile, si può benissimo rimuoverlo.
Se cerchi negli archivi di questo NG troverai una semplice funzione,
di nome getXmlHttpRequest(), che potrebbe aiutarti per istanziare un
oggetto XHR a livello crossbrowser. Può almeno servirti da spunto.
-- 
~ "Finestre, finestre, finestre! Sennò prevalgono i muri."
(Marco Paolini)