Domanda

Ho una pagina con 3 iframe e questa pagina carica un file JS che ha

var stayFifty = new Boolean(false);

e una funzione che cambia ciò che fa sulla base di questa booleana.

In un iframe in questa pagina ho una funzione onclick definita come

toggleFifty = function() {
    parent.stayFifty = new Boolean(!(stayFifty.valueOf()));
};

aggiunto a un tag img con

onclick="toggleFifty();"

Ma quando clicco sul tag img, la funzione toggleFifty non sembra al fuoco. Credo che questo abbia a che fare con il modo della funzione toggleFifty sta cercando di cambiare la variabile stayFifty. Qualcuno può spiegare come risolvere questo problema e un po 'sul problema ambito?

Ho provato ad utilizzare informazioni provenienti da questo link ma sembra non sto capendo qualcosa.

È stato utile?

Soluzione

Ti manca il parent quando si modifica il valore della variabile stayFifty:

toggleFifty = function() {
    parent.stayFifty = !parent.stayFifty;
};

A proposito, si noti che non è necessario usare costruttore booleano quando si lavora con variabili booleane, e quando si dichiara si può semplicemente utilizzare letterali booleani :

// on your parent page
var stayFifty = false;
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top