Newsgroup: it.comp.lang.javascript
Titolo: [?] Test xmlhttp

http://www.criosoftware.it/bak/XmlHttp.htm
Ho fatto una paginetta di test per capire quali browser lo supportano
(visto che dicono che Opera8 lo supporta, se è vero potrebbe diventare
veramente usabile in ambiente internet).
Problema: la pagina sopra con Mozilla (1.5): premo il tasto => ok, lo
ripremo => errore, premo il tasto => ok etc etc. Chiamate dispari
funzionano, quelle pari no...
??????
Non so cosa guardare, arriva proprio dal server l'errore (ma immagino non
sia lì il problema, visto che con IE funziona e lato server...)
Ho notato anche: premo il tasto => ok. F5 => errore! La ricarico nuovamente
=> ok.
Se invece premo tasto => ok, premo tasto => errore, ricarico pagina => ok!
Qualche idea?
Grazie
Cristiano
-- 
"Emancipate yourselves from mental slavery;
None but ourselves can free our minds"
									    B.M.

 
http://www.criosoftware.it/bak/XmlHttp.htm
[CUT]
Troppo strano, sul pc della mia collega va (mozilla 1.5 e 1.6, firefox,
netscape 7.1). Sulla mia tutti questi browser vanno 1 volta sì e 1 no.
Premo tasto => ok, premo F5:
"
The page cannot be displayed
There is a problem with the page you are trying to reach and it cannot be
displayed.
[CUT]
400 Bad Request - The data is invalid. (13)
Internet Security and Acceleration Server
"
Ripremo F5 => ok, e così via.
Qualche idea? Troppo assurdo...
-- 
"Ho smesso di fumare.
 Vivrò una settimana di più.
 E in quella settimana pioverà a dirotto"
									    W.A.

 Internet Security and Acceleration Server
Hai provato a fare la richiesta *senza* inviare alcun parametro, facendoti
restituire un plain/text fisso da visualizzare con responseText?
-- 
ZER0
~ .. six thousand and thirty nine days, seven hours, fourteen minutes, sixteen seconds.
That is when the world ended.

 restituire un plain/text fisso da visualizzare con responseText?
Ho fatto un send(null); e funziona tutto: sia restituendo un plain text (o
un xml valido), sia lasciando il lato server così com'è (mi avvisa che gli
è arrivata una richiesta non well-formed perché manca il "top level
element").
Il problema è quindi nei parametri inviati? Ma perché 1 volta sì e una no?
Opera 8.0 tutto ok (questo problema lo ho con tutti i browser Gecko).
Dubbio: lato server uso questa function per restituire il risultato:
function _return(val) {
  Response.write("<RESPONSE>"+val+"</RESPONSE>");
  Response.end();
 } 
Non è che devo magari metterci anche un header, vero? (se sì: perché sul pc
della mia collega funziona????) 
-- 
"e mai che mi sia venuto in mente
 di essere più ubriaco di voi
 di essere molto più ubriaco di voi"
									  F.D.A.

 (se sě: perché sul pc della mia collega funziona????)
Puň dipendere da una miriade e mezzo di fattori. Sistema operativo, patch,
SP, e quant'altro. Non credo sia solo una questione di browser in sč.
-- 
ZER0
~ .. six thousand and thirty nine days, seven hours, thirty five minutes,zero seconds.


 vuoi. Altrimenti devi aggiungere il content-type e l'encoding corretto.
Niente da fare.
La chiamata è diventata (passato oggetto xmlDocument + esplicitato
content-type):
 
  var
Parametri="<request><password><![CDATA["+password+"]]></password></request>";
  xmlDocument = new DOMParser().parseFromString(Parametri, 'text/xml');
  xmlDOM.open("POST","XmlHttpServer.asp",false);
  xmlDOM.setRequestHeader('Content-Type', 'text/xml');
  //invio parametri
  xmlDOM.send(xmlDocument);
  alert(xmlDOM.responseText);
(va solo con Gecko, IE non sa cosa sia DOMParser, ma questo non è un
problema). Stesso identico problema.
Lato server la _return è diventata (aggiunto content-type e charset):
  function _return(val) {
  Response.ContentType="text/xml";
  Response.Charset="utf-8";
  Response.write("<RESPONSE>"+val+"</RESPONSE>");
  Response.end();
 } 
Niente da fare, stesso identico assurdo problema.
-- 
"That until there is no longer first class
And second class citizens of any nation
Until the colour of a man's skin
Is of no more significance than the colour of his eyes
Me say war"
B.M.

 funzionano, quelle pari no...
A me funziona sempre perň ho FireFox 0.8 (Mozilla 5.0)

 Niente da fare, stesso identico assurdo problema.
Dato che ti funziona senza invio dei parametri, il problema sta in essi,
nel come fai la chiamata, non nella risposta del server.
Io ti ho solo detto che "dovresti" aggiungere i relativi header nella
risposta, se poi vuoi trattare questa come oggetto XML, ma č inunfluente ai
fini del problema perché - come ho scritto - finché usi responseText puoi
scriverci tutte le schifezze che vuoi.
-- 
ZER0
~ .. six thousand and thirty nine days, eight hours, thirty one minutes, five seconds.


 A me funziona sempre però ho FireFox 0.8 (Mozilla 5.0)
Si, anche a me, sia con Firefox 1.0.3 che con IE6.
Così come alla collega di Cristiano. Credo il problema sia altrove. A
livello di SO quantomeno, se non - a questo punto - di macchina.
-- 
ZER0
~ .. six thousand and thirty nine days, eight hours, thirty four minutes, eight seconds.


 alert(xmlDOM.responseText);
Dopo provo (farň un bel "getDocument()" cosě restituisco un XMLDocument
cross-browser), ma su IE comunque funziona passando la normale stringa.
[CUT]
Non ti vengono quindi in mente soluzioni?
Posso anche pensare che sia un problema del mio pc (visto che sia alla mia
collega, nella stessa intranet, che a Ro, funziona); dato che perň, visto
che Opera 8.0 lo supporta, stavo pensando ad un sito di e-commerce basato
su xmlhttp, vorrei risolvere questo problema (sia perché altrimenti a
sviluppare sarebbe un po' un pacco, sia perché se ho io questo problema lo
avranno ben altri client...)


 livello di SO quantomeno, se non - a questo punto - di macchina.
Sě ma...perchč? Ho la bellezza di 4 versioni di mozilla diverse, ognuno
nella sua bella dir separata...come fa a darmi lo stesso errore con 4
mozilla, 2 firefox, 1 firebird e 1 netscape 7.1?????
-- 
"Affacciati affacciati benedici, guardaci
 guardaci...guardaci!
 Tanto sono quasi duemila anni che stai a guardare!"
									    E.B.

Internet Security and Acceleration Server
L'errore te lo segnala ISA server non il server web o il browser.
http://support.microsoft.com/default.aspx?scid=kb;en-us;300707
'bye

 sviluppare sarebbe un po' un pacco
Un pacco lo sarà comunque. Spostare tutta la logica applicativa in un
sito/web application "XmlHttpRequest based" ha le sue grane, soprattutto se
cross-browser.
-- 
ZER0
~ .. six thousand and thirty nine days, eight hours, fifty two minutes, nine seconds.


 
http://support.microsoft.com/default.aspx?scid=kb;en-us;300707
Adesso dò un occhio al link, ma come ho io isa server come router/firewall,
così lo ha la mia collega...Io ho in più installato il proxy client, ma lo
ho già disattivato per prova. Inoltre con IE va che è una meraviglia...


> 
http://support.microsoft.com/default.aspx?scid=kb;en-us;300707
Ma hai letto????
"Although the fix that is described in this article is designed to be
installed on ISA Server 2000, strictly speaking, it is the Web browser that
should be corrected so that it does not send an invalid content-length
header. "
Dice che č mozilla ad esser bacato...
-- 
"E' l' ignoranza che crea l'intolleranza
 di gente cieca e senza coscienza"
									  S.S.S.

 senza però che l'assenza del supporto precluda il corretto uso del sito.
Perché?
Se mozilla>=1.0, netscape>=7, firefox, Opera>=8, IE>=4.0 lo supporta,
perché non iniziare ad usarlo? Io mesi fa mi ero bloccato per Opera...
p.s. devo rifare il sito ex-novo (inizierò circa entro 2 settimane), non
devo modificarlo. Però, se scelgo questa strada, e fino a quando è comparso
questo problema ero abbastanza propenso, sceglierò *SOLO* questa strada,
sicuramente non andrò a fare un sito che funzioni sia xmlhttp sia via
normali post...


>> 
http://support.microsoft.com/default.aspx?scid=kb;en-us;300707
E anche:
"To work around this problem in a publishing scenario, use server
publishing instead of Web publishing. Because server publishing does not
work at the application layer, server publishing cannot detect the mismatch
between the content-length header and the actual length of the data that is
sent"
ma io uso *SOLO* server publishing rules...a naso non sembrerebbe quindi
questo il problema (vado comunque a verificare se ho tutti gli sp di isa
installati)


 Dice che č mozilla ad esser bacato...
Beh, potresti anche verificare innanzitutto se č cosě.
Inoltre, puoi sempre per il momento cambiare method da "POST" a "GET".
-- 
ZER0
~ .. six thousand and thirty nine days, nine hours, two minutes, forty two seconds.


Dice che č mozilla ad esser bacato...
Yep, classico di Micro$oft :-)
Bug fixed nelle forms da una vita
https://bugzilla.mozilla.org/show_bug.cgi?id=87817
pero' per  xmlhttprequest sembra fixed solo nel branch 1.8
https://bugzilla.mozilla.org/show_bug.cgi?id=246651
'bye

 normali post...
Se è "sicuramente" così, allora non farlo. E' ovviamente un consiglio
spassionato. Vai contro ai "principi" dello sviluppo per il world wide web. 
Tanto vale farlo tutto in flash, a quel punto. Vai più sul sicuro. E puoi
usare XML senza troppi problemi.
-- 
ZER0
~ .. six thousand and thirty nine days, nine hours, seventeen minutes, fifty two seconds.


 
https://bugzilla.mozilla.org/show_bug.cgi?id=246651
Mi sono perso un passaggio, però. Perché a parità di versioni di browser, a
lui non funziona e ad altri utenti si?
Ro*, tra l'altro, ha usato Firefox 0.8.
-- 
ZER0
~ .. six thousand and thirty nine days, nine hours, nineteen minutes, fifty seven seconds.


lui non funziona e ad altri utenti si?
Perche lui usa anche ISA server e il corrispondente Proxy, l'errore e'
segnalato dal proxy (ha un filtro apposito per controllare il
content-length). Il server web accetta ugualmente la richiesta anche
se e' presente quell'errore quindi da altri computer funziona.
'bye

 Perche lui usa anche ISA server e il corrispondente Proxy, 
Si, ma anche io uso ISA server in ufficio, non dovrebbe darmi il medesimo
errore?
O c'è qualcosa che mi sfugge? Non mi sono mai addentrato troppo in tali
questioni.
E per quanto riguarda la sua collega? Fa parte della stessa rete aziendale,
utilizzeranno quindi le medesime impostazioni di connessione.
-- 
ZER0
~ .. six thousand and thirty nine days, nine hours, thirty minutes, thirty three seconds.


 IE5/Mac temo non lo supporti, ad esempio.
Questo era il test che stavo facendo e che volevo richiedere a tutti di
farmi test con vari browser, versioni e S.O. (e che mi ha inchiodato visto
che non mi va con nessun Gecko)...


 Inoltre, puoi sempre per il momento cambiare method da "POST" a "GET".
Cambiato. Dovrei cercare specifiche perché cambiando da POST a GET non
segnala più errore, ma non gli arriva l'xmldocument...


 
https://bugzilla.mozilla.org/show_bug.cgi?id=246651
Io ho fino alla 1.7.3 e l'errore persiste (ma insisto: mia collega mozilla
1.6 non segnala errore...)
Mi scarico l'ultimissima versione, giusto per test.


 errore?
Anche secondo me...è troppo strano.
-- 
"Ti sei salvato
 o sei entrato in banca pure tu?"
									    A.V.

 
https://bugzilla.mozilla.org/show_bug.cgi?id=246651
Ho scaricato l'ultima presente sul sito (1.7.8), stesso problema...
Sto scaricando anche l'ultimissimo firefox ma non penso cambierà qualcosa.
-- 
"Ho smesso di fumare.
 Vivrò una settimana di più.
 E in quella settimana pioverà a dirotto"
									    W.A.

 Sto scaricando anche l'ultimissimo firefox ma non penso cambierà qualcosa.
C.V.D.


 
http://support.microsoft.com/default.aspx?scid=kb;en-us;300707
In effetti mi sono accorto or ora di non avere sp2 di isa server
installato...proseguo Lunedì installandolo e poi verificando il tutto.
Poi vi aggiorno (anche se è un pò OT penso interesserà).


 installato...
Il che potrebbe forse spiegare perché a me funziona e a te no (non ho
controllato, ma chi si occupa di queste cose in azienda ci tiene abbastanza
agli aggiornamenti, quindi presumo sia installato).. ma alla tua collega?
-- 
ZER0
~ .. six thousand and thirty nine days, ten hours, thirty two minutes, twelve seconds.


 Su IE prova cosě e dimmi che succede:
[CUT]
function getXmlDocument(s) {
  if(typeof DOMParser=="object")
   return new DOMParser().parseFromString(s, 'text/xml');
  else if(window.ActiveXObject) {
   var xmldoc=new ActiveXObject("Microsoft.XMLDOM");
   xmldoc.loadXML(s);
   return xmldoc;
  }	
  else return s;	
 }
Funziona (da valutare poi se restituire la stringa oppure null nel caso non
supporti entrambi, ma in tal caso bloccherebbe tutto la tua
getXmlHttpRequest, penso).
-- 
"e mai che mi sia venuto in mente
 di essere piů ubriaco di voi
 di essere molto piů ubriaco di voi"
									  F.D.A.

 agli aggiornamenti, quindi presumo sia installato).. ma alla tua collega?
ipotizzo: proxy client? Io lo ho installato altrimenti non vanno newsgroup,
lei no. Disattivato e il problema rimane, vai però a sapere quando lo
disattivi esattamente cosa succede...
Venerdì ore 17, aggiornare adesso con ultimo sp il firewall sarebbe da
arresto (e sarebbe soprattutto mettere a rischio il fine settimana!).
 Schedulato per lunedì mattina.


 Escludo comunque in questo sito netscape<7 e IE<5.
Ti ripeto, a questo punto ti conviene di gran lunga utilizzare Flash.
Ottieni migliori risultati, fai le stesse cose, ed hai una visibilità
maggiore.
Sempre rimanendo in ambito sito, ovviamente.
-- 
ZER0
~ .. six thousand and thirty nine days, ten hours, thirty eight minutes, seven seconds.


http://www.criosoftware.it/bak/XmlHttp.htm
Mi fate un test con un po' di browser e S.O. per capire chi lo supporta?
Io ho testato
 IE6sp1 (ma dalla 5.0 lo dovrebbe supportare senza problemi)
 mozilla 1.5
 firebird 0.7
 firefox 0.8
 netscape 6 (non lo supporta)
 netscape 7.1
 Opera 7.54 (non lo supporta)
 Opera 8.0 (tutto ok)
 
Grazie a tutti.
-- 
"e mai che mi sia venuto in mente


 ipotizzo...
Ipotizzo: qualche DLL sovrascritta arbitrariamente: Sfc.exe
-- 
Saluti
Renato
 

 Opera 8.0 (tutto ok)
O.S. Win98SE
Mozilla 1.7.6 OK
IE 6.0.2800.1106 vari aggiornamenti compreso SP1 OK
FF 1.0.2 OK
Netscape 7.01 OK
Opera 8.0 Build 7561 Errore:
http://www.criosoftware.it/bak/XmlHttp.htm
Event thread: click
Error:
name: TypeError
message: Statement on line 34: Type mismatch (usually a non-object
value used where an object is required)
Backtrace:
  Line 34 of inline#1 script in
http://www.criosoftware.it/bak/XmlHttp.htm
    xmlDOM.setRequestHeader("Connection", "Close");
  Line 1 of  script 
    TestPwd(this.form.elements["pwd"].value);
  At unknown location
    [statement source code not available]
Che build hai di Opera?
'bye

 
http://www.criosoftware.it/bak/XmlHttp.htm
Safari 1.3 (v.312) Mac OS X 10.3.9 OK
Firefox 1.0.1 OK
Camino 0.8.4 OK
non oso testarlo su IE 5.2, so gia' che non funzionera'
-- 
Having a dream is a gift. Make it real, or die tryin'.
If you really want to mail me, drop ME_A_LINE

 return new ActiveXObject("Microsoft.XMLHTTP");
Interessante. Significa forse che possiede un "ActiveXObject", ma non è
implementato? Avrei scommesso che su IE5/Mac non vi fosse tale metodo per
l'oggetto window.
Per curiosità, chi ha modo di provare IE5/Mac, può verificare cosa ritorna:
alert(window.ActiveXObject)
e eventualmente:
alert(typeof window.ActiveXObject)
?
-- 
ZER0
~ .. six thousand and forty two days, two hours, forty five minutes, fifty nine seconds.


     xmlDOM.setRequestHeader("Connection", "Close");
Ops...ho aggiunto questa riga per il bug di mozilla e non ho ritestato con
Opera. Filtrato con if(typeof xmlDOM.setRequestHeader=='function') .....
Adesso dovrebbe andare anche con Opera 8 (ho la stessa tua versione
8.0.7561)


 return new ActiveXObject("Microsoft.XMLHTTP");
Porc...
if(window.ActiveXObject&&!new ActiveXObject("Microsoft.XMLHTTP")) vorrà
dire che supporta ActiveXObject ma non ha l'oggetto XMLHTTP?


 if(window.ActiveXObject&&!new ActiveXObject("Microsoft.XMLHTTP")) 
Se l'errore è effettivamente su quella riga, hai solo spostato il punto in
cui te lo genera.
E poi non ha molto senso crearlo in una condizione, per poi ricrearlo
successivamente.
-- 
ZER0
~ .. six thousand and forty two days, three hours, nine minutes, fifty two seconds.


 cui te lo genera.
Sě, era solo una affermazione, non ho toccato il codice.
Peccato, praticamente l'unico ostacolo sembra IE5-Mac che purtroppo č
usato. Mi scoccia rinunciarci solo per lui ma non vedo soluzioni.
-- 
"Emancipate yourselves from mental slavery;
None but ourselves can free our minds"
									    B.M.

 usato.
A mio avviso non l'ostacolo sta da tutt'altra parte, ma ho già espresso il
mio punto di vista in merito.
Sul fatto che IE5/Mac non supporta l'XmlHttpRequest, era praticamente certo
come ti avevo già accennato. Se quindi il tuo ostacolo era sul supporto,
potevi lasciar perdere da prima. Se, invece, è sulla gestione dell'errore,
una soluzione la si trova.
-- 
ZER0
~ .. six thousand and forty two days, three hours, fourteen minutes, forty five seconds.


 una soluzione la si trova.
Speravo...più che altro ricordavo, dove lavoravo prima, di avere un Mac
dove il sito dell'azienda funzionava. Forse era ancora con Remote
Scripting, però...
Esistono statistiche sui browser usati con Mac?


 una soluzione la si trova.
Però evitare l'errore e far restituire un null non sarebbe male. Cosa ti
viene in mente? Se supporta ActiveX ma non quell'ActiveX, e lì segnala
errore, O identifico IE5-Mac (bruttina), o uso un try-catch (bruttina2), o
... ?


 enormi, 
Per un sito io non ne vedo così tanti invece. Ne vedo per applicazioni
web-based, questo si. Dove è praticamente indispensabile. Ma in un sito,
non lo vedo come fondamentale al suo funzionamento. Si tratta, per lo più,
di usarlo per aggiungere delle facilities. 
E questo va bene. Ma la sua implementazione dovrebbe essere fatta sempre
nell'ottica del corretto sviluppo di siti per il world wide web.
Se usare l'XmlHttpRequest mi fa perdere di vista quest'obiettivo, allora
non va usato. Non si dovrebbe scendere a compromessi, soprattutto laddove è
possibile evitarlo.
Il tutto, IMVHO.
-- 
ZER0
~ .. six thousand and forty two days, five hours, nine minutes, fifty four seconds.


 errore, O identifico IE5-Mac (bruttina), o uso un try-catch (bruttina2),
Sul fatto che identificare IE5/Mac sia una cosa bruttina, concordo.
Sul try/catch meno. Non è una scelta "brutta" (a differenza della
precedente) quanto sconsigliata. Perché i browser vetusti non
riconoscerebbero le istruzioni try/catch mandando in errore il codice.
-- 
ZER0
~ .. six thousand and forty two days, five hours, thirteen minutes, seven seconds.


 possibile evitarlo.
Uhm...
ci sto ragionando. La mia logica era: uso XmlHttpRequest e stop perché per
pochissimi browser non ho tempo di fare anche tutta la parte "normale" via
post.
Ripensandoci perň lato server potrei riutilizzare quasi tutto...ossia, se
chiamo una pagina lato server via xmlhttp potrei usare la stessa anche via
post. Quindi il lavoro non sarebbe doppio, sarebbe solo un po' in piů.
La strada mi piace. Devo perň esser sicuro che la function restituisca
l'oggetto oppure null e che non si inchiodi con errore. Unico problema
rilevato per ora: IE5Mac.
Qualcuno sa come evitare l'errore? (dovrei fare un po' di prove ma non
avendo Mac č un po' un pacco, nel caso suggeritemi cosa cambiare cosě
sistemo e me la testate).
La function attuale che restituisce l'oggetto č:
 function getXmlHttpRequest(){
  if (window.ActiveXObject)
   return new ActiveXObject("Microsoft.XMLHTTP");
  else if (window.XMLHttpRequest)
   return new XMLHttpRequest();
  else return null;
 } //getxmlHttpRequest
IE5Mac segnala errore nella riga 3.
A me viene in mente un try-catch (visto che, immagino, una verifica di new
ActiveXOject("Microsoft.XMLHTTP") segnalerebbe errore), oppure un qualcosa
per identificare questo browser.
-- 
"Affacciati affacciati benedici, guardaci
 guardaci...guardaci!
 Tanto sono quasi duemila anni che stai a guardare!"
									    E.B.

 riconoscerebbero le istruzioni try/catch mandando in errore il codice.
Esatto, il try/catch segnalerebbe errore con IE4, per esempio.
Non mi vengono in mente altre strade, vediamo se qualcuno testa il typeof
per capire cosa restituisce.


 Il tutto, IMVHO.
anche secondo me. spesso usiamo delle tecniche solo per il fatto che le 
conosciamo.

 per identificare questo browser.
prova con un onError ...ma non trappi tutto.

 conosciamo.
Concordo in generale sulla frase, ma penso che statisticamente un sito
fatto seguendo gli standard ma usando xmlhttp funzionerebbe con più browser
che non il 90% dei siti in giro fatti con DW o simili, che giocano con
20.000 post e poi usano il document.all ...


 prova con un onError ...ma non trappi tutto.
intendi window.onerror? Uhm...dovrei assegnargli una function prima e
rimuoverla subito dopo del controllo, non č che mi piaccia molto...


 20.000 post e poi usano il document.all ...
concordo pure su questo.
ovviamente la mia frase di prima non era diretta a te, era generale, fa 
parte della psicologia del programmatore.

 parte della psicologia del programmatore.
Certo; come dice qualcun altro in questo newsgroup "una volta scoperto il
martello tutto sembra un chiodo" ...


 Qualcuno sa come evitare l'errore? 
Siamo in attesa che un Mac user ci dia una mano tramite i test di cui
prima.
-- 
ZER0
~ .. six thousand and forty two days, five hours, twenty seven minutes, forty five seconds.


 Paro paro quel che vedo nel riquadro:
Risponde allo stesso modo di windows. 
A questo punto credo che la cosa migliore da fare sia appoggiarsi alla
compilazione condizionale di jscript.
-- 
ZER0
~ .. six thousand and forty two days, nine hours, fifty four minutes, fifty seconds.


 compilazione condizionale di jscript.
Prova a eseguire questo codice, dovrebbe restituirti "null":
function getXmlHttpRequest(){
	if (window.ActiveXObject){
		/*@cc_on
			@if (@_win32)
     				return new ActiveXObject("Microsoft.XMLHTTP");
	  		@end 
		@*/
		return null;
	}else if(window.XMLHttpRequest)
		return new XMLHttpRequest()
	else
		return null;
}
alert(getXmlHttpRequest() );
-- 
ZER0
~ .. six thousand and forty two days, ten hours, seven minutes, thirty four seconds.


 compilazione condizionale di jscript.
Ossia?
Se piazzassi un window.onerror=function() {return true}
come prima riga della function, e un 
window.onerror=function() {return false}
al termine?


 Prova a eseguire questo codice, dovrebbe restituirti "null":
[CUT]
Inserito nella pagina: 
http://www.criosoftware.it/bak/XmlHttp.htm
Testato in ambiente win32 ed è tutto ok, sentiamo i Macchettari...


 usato
usato si, ma sempre meno (per fortuna)
IMHO puoi snobbarlo allegramente


 IMHO puoi snobbarlo allegramente
E' quello a cui punta: il problema è lo script che andava in errore per il
"supporto fuffa" di IE5/Mac sugli ActiveXObject.
Con la compilazione condizionale dovrebbe essere tutto a posto, anzi se fai
il favore di controllare.. :)
-- 
ZER0
~ .. six thousand and forty two days, fourteen hours, twelve minutes, fifty six seconds.
That is when the world was ended.

 alert(getXmlHttpRequest() );
null


 il favore di controllare.. :)
fatto ;)


 fatto ;)
A questo punto, prodi utenti Mac, mi controllate anche se la compilazione
condizionale funziona correttamente anche sulla vostra amata piattaforma?
<script type="text/javascript">
/*@cc_on
	document.write("JScript version: " + @_jscript_version + ".<br />");
 
	@if (@_mac)
		document.write("mac platform");
	@else
		document.write("different platform");
	@end
@*/
</script>
Giusto per scrupolo e curiosità personale. Come avete potuto vedere, il
codice precedente era scritto in modo tale da restituire null sia che vi
fosse il mancato supporto della compilazione condizionale, sia che il
supporto fosse presente ma la piattaforma fosse diversa da win32.
Come si suol dire dalle nostre parti, "meglio aver paura che buscarne".
-- 
ZER0
~ .. six thousand and forty three days, two hours, thirty seven minutes, thirty seven seconds.
That is when the world ended.

 fatto ;)
Andata
Sito e-commerce che sto per fare, alla fin fine ho optato per:
 - xhtml
 - layout tabellare (fatto vari test, IE non č pronto per essere tableless
se la pagina č un po' piů complessa di 3 colonnine...)
 - quando possibile xmlhttp altrimenti normale post
 
 - manca il discorso della validazione client-side. Volevo una function
generica (tipico). Ma: ... apro altro thread cosě vediamo se avete
soluzioni migliori. 
 
Pubblico la function finale appena riesco su criosoftware.
Grazie a tutti


 se la pagina č un po' piů complessa di 3 colonnine...)
ah come ti quoto...


 se la pagina è un po' più complessa di 3 colonnine...)
Sicuro? Tutti i problemi di layout li ho sempre risolti anche per IE,
utilizzando i CSS, senza dover mai "tornare alla vecchia scuola".
Prova magari a guardarti un po' più in giro (zengarden, alistapart, giusto
per citarne un paio che sicuramente già conosci), magari scopri o impari
tecniche / hack / approcci che al momento non conosci, e che ti fanno
pensare che sia "impossibile" realizzare un layout tableless che vada bene
per i tuoi scopi, anche su IE.
-- 
ZER0
~ .. six thousand and forty three days, four hours, forty minutes, thirteen seconds.
That is when the world ended.

 ah come ti quoto...
Mah, se mi dite che su IE non si ha l'immediatezza che su browser w3c
compliant, nel realizzare layout, posso anche essere d'accordo.. ma che
"non sia pronto", no. Si deve fare qualche hack, ma il ragno dal buco ce lo
si cava, insomma.
-- 
ZER0
~ .. six thousand and forty three days, four hours, forty one minutes, fifty five seconds.
That is when the world ended.

 utilizzando i CSS, senza dover mai "tornare alla vecchia scuola".
Non ho pagine da portare ma ci ho passato sopra parecchi giorni, dopodiché
ho escluso assolutamente questo approccio.
Sui vari siti trovi vari layout a 2/3 colonne, intestazione-pič di pagina,
ma quando cominci a fare un sito con varie finestre, dentro una immagine
con sotto descrizione, prezzi, tasti dei carrelli etc non ne esci piů senza
tabelle.
Pensa a un sito come 
bow.it
, o come č adesso 
primestore.it
. Non č fattibile
(oppure sě, come dici te č fattibile con un css da 200k e 400 hacking
interni, con distinguo vari e smadonnamenti a non finire...)
Solo per il layout di 
criosoftware.it
 (table-less) ho smadonnato non poco
nei dettagli, con scritte che a seconda della versione di IE (e anche di
mozilla e/o Opera) andavano a capo oppure no, si allineavano bene oppure no
etc etc
Escludo assolutamente sito table-less, non voglio infilarmi in un ginepraio
assurdo.
Cercherň magari di gestire le singole parti delle pagine, laddove
umanamente possibile, senza continue <td><table...</table></td>.
-- 
"That until there is no longer first class
And second class citizens of any nation
Until the colour of a man's skin
Is of no more significance than the colour of his eyes
Me say war"
B.M.

 si cava, insomma.
d'accordo, a forza di hack CSS e una buona dose di esperienza ce la si
fa, ma per l'uomo della strada e' una bella scocciatura... :)


 interni, con distinguo vari e smadonnamenti a non finire...)
secondo me, volendo fare un discorso pratico, con ie alla fine 
applicando i vari hack (che poi sono tantini e ne saltano fuori sempre 
di nuove) se ne esce...anche su layout complessi. questa attività però 
"sporca" un po' il codice ed essendo "hack" magari browser futuri 
interpretano il codice in modo diverso. Per quanto gli hack "siano 
puliti", cmq costano tempo, che spesso i clienti non retribuiscono in 
quanto per loro "basta che si veda"
Mi sono sentito ipocrita pero', a voler fare sito aderetente agli 
standard, fare pagina xhtml, tableless, etc...e poi sporcare codice con 
accrocchi, magari leciti, ma che secondo le specifiche non servirebbero...
a quel punto per coerenza, e dato che non viene riconosciuto, meglio non 
perderci troppo tempo (poi anche in fase di test sulle varie 
configurazione client-sistema operativo) e piazzare qualche tabella 
quando serve.
E in questo sono completamente daccordo con Cristiano.
saluti.

 assurdo.
Scelta liberissima, come ho detto poc'anzi.. Non è questo che discuto,
vorrei solo evitare che si pensasse che con IE non sia possibile realizzare
layout di un certo tipo se non con le tabelle, e la tua affermazione del
post originale poteva far pensare questo.. E non vorrei che qualche giovane
aspirante web designer che lurka il NG si sentisse scoraggiato da ciò, e si
dedicasse unicamente allo sviluppo di siti vecchia maniera :)
-- 
ZER0
~ .. six thousand and forty three days, five hours, twenty three minutes, six seconds.


 quando serve.
A quel punto, se si parla di "coerenza", tanto vale tornare alla vecchia
scuola.
-- 
ZER0
~ .. six thousand and forty three days, five hours, thirty five minutes, fifteen seconds.


 dedicasse unicamente allo sviluppo di siti vecchia maniera :)
Sě, certo, 
www.criosoftware.it
 č table-less.
Ho anche fatto un prototipo di questo sito che sto per iniziare table-less,
ma č troppo un pacco...
Cambio quindi "non č fattibile" in "č fattibile smadonnando in modi paurosi
con ogni div"...
Insomma, IMHO attualmente (purtroppo) il gioco non vale la candela.
Entra nel discorso, ovviamente, la faccenda monetaria e piů in generale di
tempo, certo che se uno dedica 1 mese ai css poi dovrebbe riuscire ad
ottenere un layout pulito anche con le varie versioni di IE...solo che poi
č il capo a presentare il conto a me!
