Newsgroup: it.comp.lang.javascript
Titolo: IE e typeof getAllResponseHeaders

Salve,
ho provato il typeof di getAllResponseHeaders di un oggetto XMLHttp ma mi
torna "Unknown". Firefox invece torna ovviamente "Function".
Sbaglio io o è normale???
Max



Boh...domanda: perché ti interessa?
Così a naso direi che è corretto: per firefox e browser Gecko è integrato,
mentre per IE è un oggetto esterno (activeX)
-- 
"E' l' ignoranza che crea l'intolleranza
 di gente cieca e senza coscienza"
									  S.S.S.

> Boh...domanda: perché ti interessa?
Per Opera.

 Per Opera.
Vedi se qua trovi qualcosa che ti può tornare utile:
 
http://www.criosoftware.it/defaultTIxmlhttp.aspx
-- 
"Emancipate yourselves from mental slavery;
None but ourselves can free our minds"
									    B.M.

 e quindi questa funzione è errata...
?
non mi sembra...il typeof serve per inviare l'header (necessario per
risolvere bug dei browser Gecko), se non è "function" non invia l'header
(ed è corretto perché crea controindicazioni con altri browser)
-- 
"Affacciati affacciati benedici, guardaci
 guardaci...guardaci!
 Tanto sono quasi duemila anni che stai a guardare!"
									    E.B.

  
http://www.criosoftware.it/defaultTIxmlhttp.aspx
Qui tu hai un typeof su setRequestHeader che dovrebbe funzionare solo con FF


 risolvere bug dei browser Gecko)
Già scusa hai ragione... non avevo letto per intero la pagina... :)

Come fare per capire se un dato oggetto è un ActiveX?
Max

 Come fare per capire se un dato oggetto č un ActiveX?
Beh, se lo stai istanziando con new ActiveXObject...
-- 
"e mai che mi sia venuto in mente
 di essere piů ubriaco di voi
 di essere molto piů ubriaco di voi"
									  F.D.A.

> Beh, se lo stai istanziando con new ActiveXObject...
Chiaro. Dico dopo, nello script. Una funzioncina isActiveX()...

 Chiaro. Dico dopo, nello script. Una funzioncina isActiveX()...
Boh...hai visto un typeof sull'oggetto cosa ti restituisce?
-- 
"Ho smesso di fumare.
 Vivrò una settimana di più.
 E in quella settimana pioverà a dirotto"
									    W.A.

il semplisissimo 'object' :/

 Chiaro. Dico dopo, nello script. Una funzioncina isActiveX()...
Per curiosità, mi diresti un caso pratico in cui una funzione del genere
diventa essenziale?
Io non ne vedo. La buona programmazione insegna che questo genere di
"discriminazioni" dovrebbero essere ridotte ai minimi termini; vedi tutta
la serie di funzioni "factory" che ti restituiscono l'istanza di un oggetto
in base alla capacità del client. Ed è solo lì che discrimini, per
istanziare l'oggetto giusto.
Ma una volta ottenuto, ti comporti nel medesimo modo a prescindere che si
tratti di un activeX o meno. Altrimenti, tutto l'incapsulamento va a farsi
benedire...
-- 
ZER0
~ "Lord Pando è il mio orsacchiotto di pezza.
Si veste di nero, si fa dei tatuaggi in faccia e dice
che è passato al Lato Oscuro, ma secondo me è solo l'adolescenza!"

 in base alla capacità del client.
Sarebbero?



Questo, è un esempio di funzione "factory":
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;
}
Incapsuli le "discriminazioni" qui dentro in modo tale che poi, nel codice
effettivo, tu non debba farlo.
E' la funzione che si preoccupa di istanziare l'oggetto giusto in base alle
capacità del client. Nel codice che ne fa uso, che l'oggetto sia un activeX
o altro poco importa.
