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

    [javascript] definire di nuovo una finestra madre

    Salve a tutti, ho un problema per quanto riguarda l'apertura di finestre pop-up.

    In sintesi, dovrei far capire al browser che se io da una finestra madre apro una pop-up, e poi chiudo la finestra madre,
    e dalla pop-up apro un'altra finestra, quest'ultima dovrebbe prendere il posto della finestra madre (ovvero della opener).

    In dettaglio, elenco il codice della madre:

    codice:
    <script>
    // assegno un nome alla pagina
    
    top.name = "finestraMadre";
    ...
    // apriamo un'altra finestra
    apri finestra
    codice figlia:

    codice:
    // se la opener è chiusa aprine una nuova e gli dai il ruolo di finestraMadre
    if (!window.opener || opener.closed){
    	apriFin = window.open('miaPagina2.htm','finestraMadre','scrollbars=yes, toolbar=yes, status=yes, menubar=yes, location=yes, resizable=yes');
    ...
    
    // se la opener è aperta
    else if (window.opener){
    
    ...
    se io chiudo la opener e dalla child ne apro una nuova la condizione viene soddisfata come opener.closed perchè in effetti
    anche se ne apro una nuova ho ciuso la madre.

    p.s. non è necessario aprire dalla figlia un'altra finestra, potrei aprire (sempre dalla figlia) anche una nuova pagina, che a dire
    il vero mi renderebbe più comodo.

    Grazie, ciao.

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Se hai assegnato un nome alla finestra madre e' sufficiente impostare nella figlia il target al link:

    <a href="miaPagina.htm" target="finestraMadre">

    Se la finestra madre esiste ancora verra' utilizzata, altrimente ne verra' creata una nuova con quel nome.

    Se il passaggio alla nuova pagina e' ottenuto tramite uno script devi utilizzare:

    window.open("miaPagina.htm","finestraMadre");

    per ottenere lo stesso effetto.

    ciao
    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

  3. #3
    quindi se io faccio:

    window.location.href("miaPagina.htm" target="finestraMadre")

    mi apre il contenuto nella pagina sottostante aperta dalla finestra figlia e me la "trasforma" in finestra madre???

    e quindi window.opener dovrebbe restituirmi true???

    Scusa il gioco di parole

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da DarioMarco
    quindi se io faccio:

    window.location.href("miaPagina.htm" target="finestraMadre")

    mi apre il contenuto nella pagina sottostante aperta dalla finestra figlia e me la "trasforma" in finestra madre???

    e quindi window.opener dovrebbe restituirmi true???

    Scusa il gioco di parole
    Non puoi inventarti la sintassi... sarebbe meglio consultare un manuale o un reference :master:

    Nulla puo' ridarti una madre persa... nemmeno una adottiva

    Scherzi a parte a te serve una finestra... se esiste ancora la "madre" ok, altrimento una qualunque

    Spero di aver capito cosa ti occorre... faccio un riassunto del mio precednete post:
    Se hai assegnato un nome alla finestra madre ...
    window.open("miaPagina.htm","finestraMadre");
    Ma adattarlo alle tue pagine reali e' uno sforzo che ti tocca

    ciao
    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
    Perdonami br1, ma forse non ho capito bene, cmq se ben ho capito da quello che hai detto ironicamente:

    Nulla puo' ridarti una madre persa... nemmeno una adottiva
    il mio problema oltre ad essere più complicato di quanto speravo, è difficile da spiegare, infatti io vorrei recuperare una pagina madre chiusa. Vorrei postarti cmq il procedimento di debug.

    Il nome alla pagina principale l'ho assegnato come mi hai detto tu in un precedente post:

    codice:
    <script>
    top.name = "finestraMadre";
    </script>
    codice:

    codice:
    if (!window.opener || opener.closed){
    	apriFin = window.open('miaPagina2.htm','finestraMadre');
    alert(opener.closed);
    ...
    else if (window.opener){
    alert(opener.closed);

    procedimento

    1) apro la pop-up, mi esche l'alert false.
    2) chiudo la finestra madre e dalla pop-up (tramite link) apro dinuovo la madre mi esce l'alert true
    3) dalla pop-up, clicco su un link che cambi il contenuto della madre e, il contenuto si cambia, ma l'alert mi da true, ovvero "opener.closed"
    invece dovrebbe darmi false.

    anche se laboriosa, se esiste una soluzione, potresti indicarmi???

    p.s. window.location.href("miaPagina.htm" target="finestraMadre") mi rendo conto di quello che scrivo solo dopo averlo letto

    Grazie, ciao.

  6. #6
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    opener sta a significare "la pagina che ha aperto la finestra nella quale mi trovo"

    Ovvio che una volta che e' stata chiusa non si puo' riaprire, non sarebbe la stessa ma un'altra.

    Scherzi a parte a te serve una finestra... se esiste ancora la "madre" ok, altrimento una qualunque
    Non capisco perche' ti ostini a cercare una "madre"... se hai qualche motivo particolare fallo presente.

    ciao
    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

  7. #7
    a dire il vero ho "elaborato" uno script in cui se la navigazione avviene tra madre e figlia tutto va bene, ma nel caso in cui venisse chiusa la finestra madre, la figlia ne apre una nuova e continua la navigazione, purtroppo per la prima ricerca va tutto bene, ma se si dovesse continuare, lo script si comporta in maniera diversa.

    Sarei molto contento di postarti lo script sotto il tuo consenso in modo tale che tu potessi dargli un'occhiata, e sarei sicuro che troveresti una soluzione più pratica e nel minor tempo possibile, (io sono 2 mesi che ci sto studiando).

    Grazie, ciao.

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.