Ho un'app offline HTML5 (ovvero non esiste alcun componente/codice lato server).Richiama riferimento alla finestra figlio dopo l'aggiornamento
Fondamentalmente ha due finestre (genitore e figlio). Tuttavia, in alcuni casi ho bisogno di aggiornare la finestra genitore al livello di programmazione. Quando ciò accade, perde il suo riferimento al figlio e il riferimento del figlio a window.opener non è più valido. Quindi il mio pensiero era che avrei serializzato la finestra figlia e l'avrei archiviata in localStorage. Quindi, quando il genitore è stato aggiornato, può prelevare il riferimento della finestra da localStorage e continuare a interagire con il figlio.
Il problema è che questo non funziona (come per la mia domanda precedente qui Stringify DOMWindow object). Non riesco a serializzare una finestra DOM come qualsiasi altro oggetto.
Così come posso avere la mia finestra appena aggiornata prendere un riferimento al figlio del suo predecessore?
Modifica: Sottolineato il fatto che si tratta di un'app offline. Non c'è alcun componente sul lato server.
Devo anche aggiungere che il motivo per cui ho bisogno di aggiornare il genitore è controllare gli aggiornamenti dell'applicazione (cambiamenti nel manifest della cache). Poiché il genitore è la prima pagina dell'applicazione che carica, gestisce fondamentalmente la memorizzazione nella cache (infatti, a parte, in Safari se questa finestra viene chiusa durante il processo di memorizzazione nella cache l'intero browser si arresta in modo anomalo). Quindi "genitore" è essenzialmente "prima pagina caricata dall'utente".
Ciò significa che non posso avere il "genitore" in un frame, poiché la finestra più in alto gestirà quindi la memorizzazione nella cache e richiederà l'aggiornamento per cercare gli aggiornamenti.
In realtà, è possibile che io possa utilizzare il metodo frame, poiché l'aggiornamento di una qualsiasi delle pagine dell'applicazione attiverà il controllo degli aggiornamenti. Però ingombrante.
Non è l'evento aggiornabile che stavo cercando (ho già un listener per questo), ma piuttosto la parte applicationCache.update del tuo snippet. Grazie. – ggutenberg