Newsgroup: it.comp.lang.javascript
Titolo: catturare document.location

Come posso catturare una "document.location"???!!
mi spiego..
mi trovo in una pagina dove ho alcuni oggetti (bottoni, etc) che mi
potrebbero scatenare una document.location. Io vorrei catturare
questa chiamata, per fare dei controlli, prima che venga
lanciata la location!
Qualche suggerimento?!?
Ciao A n d r e A

Togli la document.location (anzi, window.location, altrimenti mi cazziano!)
e mettila al termine della tua funzione di convalida (che eseguirai al posto
della document.location)

 Togli la document.location (anzi, window.location, altrimenti mi cazziano!)
Io personalmente preferisco usare la window.location, ma anche l'uso 
della document.location, che non e' di solo appannaggio di IE come 
qualcuno pensava, e' valido in quanto - in fondo - si tratta del 
medesimo oggetto.
Uno strict equal dovrebbe essere sufficientemente chiarificatore :)
alert(window.location===document.location)
-- 
C'ya,
ZER0
  :. job profile - coder.gfxer.webDesigner
"When you have eliminated the impossible, whatever remains,
however improbable, must be the truth." (S.H.)

 medesimo oggetto.
Si', e rimane il fatto che Microsoft la supporta, Netscape l'ha dichiarata
deprecata all'epoca di NS4, il w3c non mi sembra la nomini neppure
(perlomeno nelle specifiche DOM2, che sono quelle che ho "sfrucugliato" di
piu').
Per quanto ne so io non e' una preferenza (window.location), ma una scelta.
Ora faccio un giro sul w3c cosi' mi aggiorno.
P.S. mentre sto scrivendo mi hai fatto uno squillo al telefono per essere
richiamato. Come fanno fin troppe donne. Odioso. Ma visto che abbiamo un
lavoro in sospeso soprassiedo e ti richiamo.

 lavoro in sospeso soprassiedo e ti richiamo.
Non so se scherzi oppure no (sai, esistono anche gli smile), quindi per 
sicurezza.. 
Visto che mi avevi cercato oggi, e non s'era potuto parlare, mi sono 
rifatto vivo. Se potevo, ti avrei richiamato, ti pare? :)
Ho pensato che avresti preferito uno squillo per segnalarti la mia 
presenza, piuttosto che non farmi risentire.. visto, appunto, che mi 
avevi chiamato tu e magari avevi da dirmi qualcosa di importante.
Certo che, se la cosa ti infastidisce, evitero' di farlo in futuro.. 
basta saperlo :)


window.location mi da' un'impressione piu' "stabile". :)
Mi pare ci sia anche un punto da sottolineare:
rispetto a finestre pop up [che carichino pagine fuori dominio]
la popup-window.location rimane nella disponibilita' di script
residenti nella finestra 'madre',opener, mentre tentativi di accesso
al document.location ricevono un diniego di sicurezza 
E la cosa mi pare logica
la finestra e' mia e me la gestisco io
uhm sbaglio?

 avevi chiamato tu e magari avevi da dirmi qualcosa di importante.
Non devi scusarti di nulla: "abbiamo un lavoro in sospeso" non e' "abbiamo
un conto in sospeso".
Stiamo facendo un lavoro assieme e mi sembrava un buon motivo per
soprassedere allo squillo che tanto mi innervosisce.

 la finestra e' mia e me la gestisco io
Fino ad un certo punto, si'. :)



Giusta precisazione.
comunque visto che lo stesso non si puo' fare con il settaggio tramite
document
l'identita' non e' assoluta da un punto di vista della sicurezza
nonostante il true restituito dalla verifica ===
E' questo mi solletica un pochino.
perche' no?

 soprassedere allo squillo che tanto mi innervosisce.
Evidentemente, cosi' non e' stato.
Anche se potevi dirmelo in precedentente occasione o semplicemente in 
privata sede.
Appena posso ti posto il link alla netiquette, ci sono un paio di 
passaggi che ti consiglio di leggere.. appena posto le FAQ. A breve 
spero di buttare giu' qualcosa :) (volevo postarle stasera, ma non ce 
l'ho fatta)


 perche' no?
Be' stai confrontando due stringhe che hanno effettivamente lo stesso
valore. Cio' non vuol dire che alcune "proprieta' che riguardano la
sicurezza", non accessibili all'esterno e dello stesso oggetto abbiano
impostazioni diverse.

perche' no?
voglio dire mi interessa il significato di d.l===w.l
uguale a true senza esserlo in tutti gli aspetti evidentemente

 perche' no?
Affatto, l'oggetto e' effettivamente lo stesso (da qui lo strict equal).
Il fatto che la SOP ti blocchi prima di poterlo raggiungere, non cambia 
la natura dello stesso.
In pratica, ti blocca nel momento in cui fai "window.document", e quindi 
non arrivi a giungere alla "location", che se potessi referenziare, 
avrebbe lo stesso comportamento di window.location.


impostazioni diverse.
grazie, avevo scritto l' altro messaggio senza che questo tuo fosse
ancora visibile [almeno per me]

 valore.
Mhm, giusto per "guardare le cose di fino", non sono stringhe (o oggetti 
stringa) sono "oggetti (location)".
(Netscape/Mozilla hanno proprio un costruttore "Location", e non un 
object generalizzato come IE, tra l'altro).


avrebbe lo stesso comportamento di window.location.
grazie 
tra parentesi, non mi e' mai capitato di usare questo operatore strict
equal ===
in quale occasione puo' essere rilevante ed opportuno?
[pura speculazione 'intellettuale']

 [pura speculazione 'intellettuale']
Sinceramente in Javascript non l'ho usato molto.. un po' in PHP.. cmq lo 
strict equal ti restituisce true solo nel caso in cui i due operandi 
sono "uguali" e dello stesso tipo.
Esempio chiarificatore:
alert("3"==3);
alert("3"===3);


 privata sede.
Se un possibile fraintendimento di altri, o qualunque altra cosa ti e'
sembrata offensiva, faccio pubbliche scuse. L'intenzione assolutamente non
c'era.

 object generalizzato come IE, tra l'altro).
Rigiusta precisazione.

 [pura speculazione 'intellettuale']
Debugging, altrimenti mi e' capitato solo in asp/jscript, ma direi solo per
"debugging preventivo". Magari scrivendo in fretta codice con altri, o
mettendo pezze paurose da qualche parte senza studiarsi chili di script (ad
esempio ho visto che e' distrazione comune scordarsi che ogni valore che
arriva da una querystring e', appunto, una stringa): aggiungendolo ad una
condizione puo' fare il lavoro al posto di un blocco "try & catch".

 c'era.
Okay.


 Rigiusta precisazione.
Mozilla e Netscape hanno tante cose belle, se e' per questo.. ;_;
