Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    128

    Mootools, iframe e scope

    Ciao a tutti,

    ho un problema di scope che non riesco a risolvere che ora vi spiego:

    Ho una pagina "index.html" la quale contiene un iframe che carica la pagina "content.html".
    Dalla pagina "content.html" vorrei attivare una funzione presente nella pagina "index.html" dichiarata al realizzarsi dell'evento "domready" associato a window.

    Di seguito il codice per capirci:

    PAGINA INDEX:

    window.addEvent('domready',function{
    var test = function(){
    console.log("ok");
    }
    });


    PAGINA CONTENT:

    window.addEvent('domready',function{

    var parentWindow = window.parent;
    var button = $('button');

    button.addEvent('click',function(){
    parentWindow.test();
    });

    });


    Nella pagina "content.html" ho un bottone che cliccandoci su dovrebbe avviare la funzione "test()" nella pagina "index.html".
    Ho già verificato che modificando lo scope di "test()" levando "var" il tutto funziona.
    Sembra quindi un problema di scope.
    A me però interessa riuscire a capire come fare per raggiungere lo stesso risultato senza levare "var" perchè non mi sembra una soluzione molto elegante...

    Qualcuno sa aiutarmi?
    Grazie.

    Tommaso.

  2. #2
    Senza levare "var" non puoi riuscirci. Le function fanno scope dunque non puoi vedere variabili locali all'esterno.
    Devi necessariamente assegnare la function alla window o a un suo oggetto:

    codice:
    window.iframeUtils = {test : null};
    
    window.addEvent('domready',function{
      window.iframeUtils.test = function(){
        console.log("ok");
      };
    });

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    128
    Grazie mille!

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.