Newsgroup: it.comp.lang.javascript
Titolo: POSSIBILE CHE NESSUNO LO SAPPIA???

Il mio scopo è quello di non far aprire mai 2 explorer (o più)
sulla stessa pagina.
Devo insomma inserire dei controlli nella pagina in questione che rilevino
se è già aperta, e se lo è, facciano questo :
alert("Attenzione, la pagina è già aperta");
top.location="about:blank";
Avevo pensato di settare una variabile globale (ad esempio una specie di
cookie) che
però venisse vista da tutti gli explorer.
In questo modo potrei dire : <se la variabile=="CiSono"> significa che la
pagina è già aperta.
Il problema è che non esistono variabili di questo tipo.
Sapete trovare una scappatoia?

Il problema è che non esistono variabili di questo tipo.
?????
CiaooooooooooooooooooooooooooooooooaiC.
                                      by
-------------------------------------------------------------------
     Ðarius. <- 
www.infotronica.it/darius
 ->
                 ICQ# 36150792
      - Art of JavaS.™ - 
www.probo.it/aoj
-------------------------------------------------------------------

 Sapete trovare una scappatoia?
onload e onunload che passino controllo a un CGI che incrementi/decrementi il
numero di connessioni e lo scriva in un file statico sul server ?
-- 
----------------------------------------------------------------------
nos...@ifctr.mi.cnr.it
 is a newsreading account used by more persons to
avoid unwanted spam. Any mail returning to this address will be rejected.
Users can disclose their e-mail address in the article if they wish so.

else alert("closed");
Ma io non devo aprirla con il metodo "open", devo, quando l'utente apre la
mia pagina, controllare se in precedenza la stessa è già aperta in un altro
browser.
Ad esempio :
l'utente apre la 
www.alexmessomalex.cjb.net
poi si stufa, apre Word e riduce a icona la 
www.alexmessomalex.cjb.net
alla fine non si ricorda di averla già aperta e la riapre con un altro
browser.
Quando la apre per la seconda volta, devo controllare se è già aperta.
Grazie comunque per il tentativo (ammetto che non è così semplice).
P.S. Spero tanto di non dover ricorrere a una DLL che fa dei controlli
usando l'API di Window!

Il problema è che se scrivo un file, se l'utente esce in modo imprevedibile
dalla pagina (es. va via la luce), il file rimane scritto.
Quindi ai successivi rientri, la pagina crede che ci sia un'altro browser
aperto sulla stessa.
Risultato : danno planetario!

Grazie comunque per il tentativo (ammetto che non è così semplice).
Vabbeh, visto che hai parlato di coockies: perché non ricorri ad essi? Mi
sembra la soluzione più immediata:
onload="SetCookie('aperta='+parseInt(GetCookie('aperta'))+1);"
onunload="SetCookie('aperta='+GetCookie('aperta')-1);"
if (parseInt(GetCookie('aperta'))>0)
// allora è aperta da GetCookie('aperta') finestre
// che se non ci sono errori dovrebbe darti 1
alert("APERTA");
e preferibilmente un window.close() per far annullare al più presto il
cookie "aperta"
// mentre se
parseInt(GetCookie('aperta'))==0  // allora non è ancora stata aperta.
Se ti si impianta il browser per qualche motivo (onunload non viene
chiamato)alla prossima apertura avresti un GetCookie('aperta')>0.
Per ovviare abbastanza largamente a questo (comunque improbabile)
inconveniente basterebbe per esempio porre una scadenza a breve termine al
cookie stesso...
:)


Ti ringrazio tanto, proverň la tua soluzione.
Ma sei sicuro che lo stesso cookie venga letto da tutti gli explorer?
Perchč se non sbaglio, se uno apre una stessa pagina da due explorer, ogni
explorer dovrebbe vedere soltanto i suoi di cookie, non quelli che ha creato
l'altro explorer, sbaglio?
Magari perň c'č un buco nel browserino di Zio Bill che si puň sfruttare in
questi casi, č cosě?
grazie ancora.
ciao

Sul mio IE4 scabmio dati tranquillamente via cookie da una finestra
all'altra...
:)
Sugli altri brws bisognerebbe provare..


Scusa un po', ma mi da un sacco di errori.
Non esiste nè la funzione "GetCookie" nè la "SetCookie",
ho cercato anche nel manuale di JavaScript 1.3 !
Potresti spiegarmi?
Grazie ancora.
ciao

Non esiste nè la funzione "GetCookie" nè la "SetCookie",
Hai ragione. Scusa, ho dimenticato di specificarlo...
SetCookie() e GetCookie() sono delle funzioni di una libreria freeware
chiamata cookies.js
Ne dovrei avere una copia su 
www.infotronica.it/darius/cookies.js
Il modo di utilizzo è molto semplice:
<script src=cookies.js></script>
var a= GetCookie('nomecookie);
var expdate=new Date(2000,02,05);
SetCookie('nomecookie', valorecookie, expdate, document.location.path, null,
false);
