PostMessage è una nuova API di comunicazione cross-origin introdotta in html5 che permette di comunicare bidirezionalmente con la pagina principale e qualsiasi pagina di classe frame o una pagina aperta tramite window.open. Il suo processo generale di funzionamento è il seguente:
Il metodo postMessage(data,origin) accetta due parametri:
(1) dati: I dati da passare, la specifica HTML5 menziona che il parametro può essere qualsiasi tipo base di JavaScript o un oggetto riproducibile, ma non tutti i browser l'hanno fatto, alcuni browser possono gestire solo parametri stringa, quindi dobbiamo usare il metodo JSON.stringify() per serializzare i parametri dell'oggetto quando li passiamo e fare riferimento a json2.js nella versione inferiore di IE per ottenere effetti simili.
(2) origine: parametro stringa, indicare la fonte della finestra di destinazione, protocollo + host + numero porta [+URL], l'URL sarà ignorato, quindi non potrà essere scritto, questo parametro è per considerazioni di sicurezza, il metodo postMessage() passerà il messaggio solo alla finestra specificata, ovviamente, se vuoi, puoi anche impostare il parametro su "*", così da poter essere passato a qualsiasi finestra, se vuoi specificare la stessa origine della finestra corrente, è impostato su "/";
Scrivi e ricevi messaggi tu stesso
Il codice è il seguente:
La finestra genitore invia un messaggio alla finestra figlia, e la finestra figlia riceve il messaggio
Il codice è il seguente:
La finestra figlia invia un messaggio alla finestra genitore, e la finestra madre riceve il messaggio
Il codice è il seguente:
Inoltre, una semplice modalità listener/client è collegata al client per la messaggistica cross-domain al seguente indirizzo:Il login del link ipertestuale è visibile.
(Fine)
|