Newsgroup: it.comp.lang.javascript
Titolo: Cos'è che non va ?

Voglio che lo script mi apra la finestra SOLO quando non è già aperta:
function ApriPannello() {
if(Pannello.closed){
Pannello=window.open('Pannello.php','Pannello','height=300,width=160,left=10
0,top=100,toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizabl
e=yes');
                             }
Pannello.focus();
}

 ha scritto nel messaggio
news:sioeb.147058$hE5.4...@news1.tin.it...

Se e' _APRIRE_ la finestra, basta questo
function ApriPannello() {
Pannello=window.open('Pannello.php','Pannello','height=300,width=160,left=10
0,top=100,toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizabl
e=yes');
}
Se e' _CARICARE LA PAGINA_ allora non so.
Ciao,
Ema

 Se e' _CARICARE LA PAGINA_ allora non so.
Esatto, perchè la finestra con quel codice non la riapre, ma la pagina me la
ricarica, e questo per me è un po' un problema.
Dario


Questo ti permette di aprire piu' pagine nella stessa popUp, mantenerle
al focus anche se la popUp l' ha perso e(su win) se e' ridotta ad icona,
non ricaricare la pagina se e' gia' nella popUp.
La puoi usare in un FERAMESET, anche cambiando le pagine nel FRAME
Per richiamarla da HTML:
<a 
href='javascript:;top.gfC__aprePopUp("nomePagina.ext","Pannello","height=300,width=160,left=100,top=100,toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=yes")'>xxxxxxxxxx</a>
da javascript:
top.gfC__aprePopUp("nomePagina.ext","Pannello","height=300,width=160,left=100,top=100,toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=yes")
<script>
function gfC_aprePopUp(){// by gfCsoft --> 
gianf...@gfcarlotti.it
 <--
     if(!top.gfC_popUp){
top.gfC_popUp=window.open(arguments[0],arguments[1],arguments[2]);
         top.gfC_popUp.focus();
     }else{
         if(top.gfC_popUp&&top.gfC_popUp.open&&!top.gfC_popUp.closed){
if(top.gfC_popUp.location.toString().indexOf(arguments[0])==-1){
                 top.gfC_popUp.location=arguments[0];
             }
         }else{
             top.gfC_popUp=null;
             gfC__aprePopUp(arguments[0]);
         }
     }
     top.gfC_popUp.focus();
}
</script>
Ciao
-- 
   [web]   
www.gfcarlotti.it
 
www.gfcarlotti.it/trekking/
           [mail]   
gianf...@gfcarlotti.it
                  [pgp]  
www.gfcarlotti.it/pgp/franco.asc

 non ricaricare la pagina se e' gia' nella popUp.
Non mi funziona...
Penso che il problema sta qui:
if(!top.gfC_popUp){
perchè è lì che il controllo se la finestra è già aperta giusto ?
Considera che ho chiamato la funzione con un onclick="", in particolare il
codice html è così:
<a href="una pagina che mi serve" onclick=" gfC_aprePopUp(.....)">
Non so..
Grazie mille.
Dario

Dario Salvi wrote:

Non avevi detto che volevi aprire una popup e cambiare pagina opener,
guarda qui', perche' e' un po' piu' complicato.
www.gfcarlotti.it/gfC_E0/gfC_E2/gfC_E_Soft/gfC_madriPopUp.htm


 
www.gfcarlotti.it/gfC_E0/gfC_E2/gfC_E_Soft/gfC_madriPopUp.htm
e se non cambiassi l' opener ?
funzionerebbe ?
(a me interessa che nella finestra popup, se già esistente, NON venga
ricaricata la pagina, ma la massimo vi si dia il focus)
il controllo if( !top.gfC_popUp) è sufficente per questo ?
Grazie mille
Dario


Questo serve per controllare se l' oggetto non e' stato creato,
(come e' di default), ma serve anche il resto.
Se la popup e' gia' aperta ma non ha il focus, controlla
che la location della popup sia sempre quella, e gli da' il focus,
se non e' quella, cambia la location e gli da' il focus.
Se l' oggetto e' stato creato ma chiusa la popup,
uccide l' oggetto *top.gfC_popUp=null* e richiama la funzione stessa che
a questo punto trova *!top.gfC_popUp*, allora apre la popup e gli da' il
focus.
Qui' c' e' un piccolo esempio:
www.gfcarlotti.it/popup/
usa questo di codice che e' piu' completo.
