Ciao
Come faccio a sapere se una popup è già aperta?
Ciao
Come faccio a sapere se una popup è già aperta?
http://www.jsdir.com/faq/faq.asp?esp...tra&numero=226Originariamente inviato da Fello
Ciao
Come faccio a sapere se una popup è già aperta?
ciao
La apri nuova con lo stesso nome e poi fai un check della pagina contenuta...
Prova questo inventato al volo... su IE restituisce 0 se la popup non esiste, 1 se esiste e contiene una pagina dello stesso dominio, 2 se contiene una pagina di altri domini.
ciaocodice:function PopExists(nome) { w = window.open("",nome) rv = w.location; rv = (typeof(rv.href)=="unknown")?2:(rv.href=="about:blank")?0:1; if (rv==0) w.close(); return rv }
Edit: lo script precedente funziona slo se la popup la si apre dalla stessa pagina che poi fa il test.
Il guaio per i poveri computers e' che sono gli uomini a comandarli.
Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
Consultate la discussione in rilievo: script / discussioni utili
Usate la funzione di Ricerca del Forum
Grazie ad entrambi, proverò quanto prima i vostri suggerimenti!
Ciao, sono ancora io....
ho difficoltà a mettere in pratica ciò che vorrei fare!
Vi spiego la situazione:
nella mia home page apro una popunder in questo modo:
e questa è la funzione che apre la popundercodice:<body onload="Open_Window('pop.asp','finestra','width=530,height=500')">
ora nelle altre pagine vorrei mettere un link cliccando il quale si controlla se la popunder "finestra" è aperta.codice:function Open_Window(theURL,winName,features) { //v2.0 window.open(theURL,winName,features); self.focus(); }
- se è aperta bisognerebbe semplicemente darle il focus
- se invece è chiusa bisognerebbe aprirla.
attualmente ho provato con questo script:
ma non fuzniona!codice:var finestra=null; function check() { if (finestra && !finestra.closed) { finestra.focus(); } else if (finestra && finestra.closed) window.open('http://www.nome_dominio.it/pop.asp','finestra','width=530,height=500'); }
quello che ti ha linkato Var vale x popup aperte dalla stessa pagina
lavora su quello che ti ha postato Bruno
ok, allora partiamo dallo script postato gentilmente da br1:
supponiamo che la mia popunder sia aperta dalla home, supponiamo che nell pagina A.asp si clicchi il linkcodice:function PopExists(nome) { w = window.open("",nome) rv = w.location; rv = (typeof(rv.href)=="unknown")?2rv.href=="about :blank")?0:1; if (rv==0) w.close(); return rv }
in questo modo l'istruzionecodice:a href="javascript:PopExists(finestra)"
mi apre un'altra finestra?codice:w = window.open("",nome)
quindi per prima cosa devo fare il controllo!?!