Ho sentito che HTML5 ha window.postMessage()
, ma sembra che sia necessario avere un handle sulla finestra (o scheda, in tutta questa domanda) a cui stai postando il messaggio. Cosa succede se voglio trasmettere a tutte le finestre aperte? È possibile?Invio di un messaggio a tutte le finestre/schede aperte utilizzando JavaScript
(Quello che sto cercando di fare è avvertire le altre finestre senza alcun round-trip del server quando un utente fa qualcosa in una finestra che influenza le altre, in modo che possano aggiornare il loro contenuto. aperto da quelli esistenti - permettendomi di intercettare e memorizzare i riferimenti ad essi - alcune nuove finestre possono essere aperte manualmente dall'utente e poi un segnalibro selezionato o un URL digitato. In questo caso non sembra essere un modo per intercettare e memorizzare riferimenti.)
A seconda del caso d'uso, Comet (o altri simili mecanism "HyBi") potrebbe essere una scelta migliore; ad esempio se si desidera che la notifica sia cross-browser (ovvero, l'utente ha aperto IE e Firefox, apporta una modifica in IE e si aspetta che Firefox venga avvisato). Inoltre, non so esattamente come funzionino tutti i browser (potrebbero esserci opzioni configurabili che cambiano il loro comportamento predefinito, come l'argomento della riga di comando -no-remote per Firefox) ma anche per lo stesso browser, tutte le finestre potrebbero non essere in grado comunicare senza comunicazioni in stile Comet/server. –
Grazie, ma ho già un fallback sul lato server ... Volevo solo che si sentisse un po 'più nitido essendo più efficiente quando possibile. – Kev
Perché questa domanda è stata chiusa come duplicata, quando quella che presumibilmente è stata duplicata è arrivata 6 anni dopo? – Kev