Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    chiudere popup se è aperta...

    scusate ma non trovo risposta tramite ricerche a questa semplice domanda.

    function chiudipreview() {
    if (PrewWin) PrewWin.close();
    }

    Perchè non funziona?!
    Si tratta di una pop.up che può essere stata aperta o meno.
    Sta di fatto che alla chiusura della pagina opener, la pop-up se aperta deve chiudersi.
    ma il codice suscritto mi restituisce sempre l'errore "PrewWin non è definito".

    Come faccio a dirgli quindi di chiudere la pop-up solo se è aperta?!

  2. #2
    Utente di HTML.it L'avatar di erme2
    Registrato dal
    Oct 2002
    Messaggi
    177
    controlla se PrewWin è davvero la variabile restituita da pop.
    eRMéS! RM98!
    "...è mai possibile oh porco di un cane, che le avventure in codesto reame, debban risolversi tutte con grandi puttane!..." - (Carlo Martello ritorna dalla battaglia di Poitiers -Fabrizio De Andrè/Paolo Villaggio)

  3. #3
    PrewWin è una finestra pop.up che apro io con questo nome.
    Infatti posso dialogarci senza problema.
    La mia questione è molto semplice.
    Dato che PrewWin può essere stata aperta oppure no, quando chiudo la pagina principale voglio che la PrewWin sia chiusa.
    Però l'istruzione di cui al primo messaggio mi ritorna quell'errore.
    Come faccio a dire al browser:

    se PrewWin è aperta, chiudila!

    ????

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    if (PrewWin && !prewWin.closed) PrewWin.close();

    ciao

    ps: per essere sicuri occore sapere da chi e come viene aperta la popup.
    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

  5. #5
    Ciao br, ancora non funziona. O meglio, ancora propone l'errore.
    Ti faccio vedere:

    function preview_in_page()
    {
    PrewWin = window.open("/inc/layout/<?=$NomeFile;?>?IDCategoria=<?=$IDCategoria?>&Posi zione=<?=$Posizione?>&Prw=1#a_<?=$Posizione?>", "PrewWin", "scrollbars=yes,status=no,menubar=no,toolbar=no,lo cation=no,resizable=Yes,width=820,height=640");
    PrewWin.focus();
    }

    e questa funziona bene, cioè quando richiamo la funzione la pagina si apre

    function chiudipreview() {
    if (PrewWin && !PrewWin.closed) PrewWin.close();
    }

    ...<body onUnload="chiudipreview();">...

    quando invece la funzione chiudipreview viene richiamata all'onUnload, ho un errore javascript che mi segnala che PrewWin non è definito.

    Cazzo, perchè!?

  6. #6
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    PrewWin devi dichiararla globale (fuori dalle funzioni)

  7. #7
    ciao... ma perchè se la finestra è aperta lui la chiude normalmente (e quindi all'interno della funzione la chiamata a PrewWin la interpreta benissimo) e invece se non è aperta mi da l'errore?

    Insomma, come si fa questa istruzione:

    se PrewWin è aperta, chiudila

    ???!!!

  8. #8
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    Originariamente inviato da willybit
    PrewWin devi dichiararla globale (fuori dalle funzioni)
    devi inizializzare la variabile globalmente
    PrewWin = null;
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  9. #9
    oh, finalmente funzia.
    Grazie a tutti!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.