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

    Sintassi della proprietà opener

    Disquisizione puramente teorica:
    date le due pagine (madre.htm e figlia.htm):

    codice:
    <html>
    <head>
    <script language="javascript" type="text/javascript">
    <!--
    function ciao() {
    	alert(document.getElementById('uno').innerHTML);
    }
    function pop() {
    	pop_id = window.open('figlia.htm', 'pop', 'toolbar=no, menubar=no, scrollbars=yes, resizable=yes, width=300, height=400');
    	// è buona educazione ripristinare il focus sul pop aperto,
    	// perché potrebbe essere già aperto e l'utente non vedrebbe l'effetto del click sul link:
    	pop_id.focus();
    }
    //-->
    </script>
    </head>
    <body>
    <div id="uno">Io sono l'inner HTML!!!</div>
    funzione ciao
    
    funzione pop 
    </body>
    </html>


    codice:
    <html>
    <head>
    
    <script language="javascript" type="text/javascript">
    <!--
    function ciao_madre() {
    	opener.window.ciao();
    }
    //-->
    </script>
    </head>
    <body>
    funzione nella finestra madre
    
    </body>
    </html>
    Se è vero che la proprietà opener dell'oggetto window individua la finestra madre che apre il popup, perché l'istruzione opener.ciao() non accede alla funzione della pagina madre ma si rende necessario scrivere opener.window.ciao() ??
    Emanuele DG
    <?php echo "Proverbio zen(d): vivi ogni giorno come se fosse il ".date('d M Y', time()); ?>
    Intellectual property

  2. #2
    pagina test.html
    codice:
    <script type="text/javascript">
    function ciao(){
    	alert("Ciao");
    };
    </script>
    saluta

    pagina popup.html
    codice:
    <script type="text/javascript">
    with(opener){
    	ciao();
    };
    close();
    </script>
    con tutti i browsers che ho provato, problemi zero

    pagina di prova

    se qualche browser ha problemi il problema è del browser stesso
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  3. #3
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Ancora... VVoVe:

    http://forum.html.it/forum/showthrea...readid=1180369

    EDIT: Riapro dopo chiarimenti
    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

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    Originariamente inviato da andr3a
    con tutti i browsers che ho provato, problemi zero
    confermo
    avrai qualche problema sul tuo browser
    la sintassi opener.nomeFunzione() senza dubbio richiama la funzione nell' opener

  5. #5
    Originariamente inviato da Xinod
    confermo
    avrai qualche problema sul tuo browser
    la sintassi opener.nomeFunzione() senza dubbio richiama la funzione nell' opener
    esatto ... e se l'opener è la window "madre", opener.window sarà sempre e comunque la window.madre ... questo semplicemente perchè:
    codice:
    alert(opener.window.window.window.window === opener);
    è esattamente true (window.window è un riferimento a self, a this ... o a window, nulla di più)
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  6. #6
    Ancora filosofia!
    Mi piace!!!
    Andrei avanti ore anche a scrivere
    document.firstChild.parentNode.firstChild.parentNo de.firstChild.parentNode.firstChild.parentNode.fir stChild.parentNode.firstChild.parentNode.firstChil d...

  7. #7
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da H5N1_Aviaria
    Ancora filosofia!
    Mi piace!!!
    Andrei avanti ore anche a scrivere
    document.firstChild.parentNode.firstChild.parentNo de.firstChild.parentNode.firstChild.parentNode.fir stChild.parentNode.firstChild.parentNode.firstChil d...
    Grazie per il positivo contributo alla discussione
    Ricorda sempre che non e' obbligatorio intervenire in tutte le discussioni...
    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

  8. #8
    Sembra che ironia e filosofia non vadano d'accordo...

  9. #9
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da H5N1_Aviaria
    Sembra che ironia e filosofia non vadano d'accordo...
    L'ironia non serve a fugare dubbi e perplessita' di chi ha aperto la discussione... che, a ben vedere, e' lo scopo del forum

    Basta con l'OT, eventuali approfondimenti tramite pvt.
    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

  10. #10
    Originariamente inviato da H5N1_Aviaria
    Ancora filosofia!
    comprendere la gerarchia ed i riferimenti di scope, in JavaScript, non è filosofia, quanto la cosa più importante da apprendere.

    Non è scontato dire che opener.window.window è === a opener come non lo è dire che window.window.window è === a this in un contesto globale o all'interno di una funzione richiamata direttamente, senza l'uso di apply, call e senza l'uso dell'eventuale oggetto che "la comprende".

    Mi sembra quindi si tratti di argomenti interessanti, per quanto il più delle volte scontati ... altrettante volte non sono mai stati realmente compresi
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

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.