Ho un'applicazione html che utilizza l'evento onfocus
. Funziona perfettamente quando si cambiano le schede del browser.Come accedere all'evento onfocus da iframe (cross-origin)?
Ora, quando carico quell'app come iframe
in un'altra pagina html, non funziona perché iframe
non è attivo quando si passa da una scheda all'altra. Come accedere all'evento onfocus
da iframe
senza modifica del codice di livello superiore.
Il numero iframe
e la pagina che carica gli iframe non provengono dalla stessa origine.
if (!window.parent.frames.length) {
window.onfocus = function() {
// do smth
};
} else {
// ???
}
Si prega di inviare un codice minimo per mostrare come è impostato. – LGSon
Vedo che l'iframe e il documento principale hanno origini diverse. Sei tu a controllare il contenuto in entrambi i documenti/origini? – pseudosavant
Bene, questo è il codice minimo. Stavo facendo alcune animazioni basate su eventi (socket). Dovrebbero essere animazioni in tempo reale, quindi avevo bisogno di una coda. Quando si cambiano le schede, la coda dovrebbe essere pulita e funzionava se l'app non era un 'iframe'. Ma quando è un 'iframe', non posso pulire la coda perché l'evento 'onfocus' non si attiva. @Amber de Black la risposta potrebbe essere la soluzione per me. –