Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 4712|Risposta: 2

[HTML/HTML5] Comunicazione tra finestre HTML5 PostMessage

[Copiato link]
Pubblicato su 30/07/2022 22:07:04 | | | |
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:



JS determina se la pagina corrente è un iframe o una finestra popup
https://www.itsvse.com/thread-10342-1-1.html


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)




Precedente:JS determina se la pagina corrente è un iframe o una finestra popup
Prossimo:Docker modifica e limita CPU, memoria e altre risorse del container
Pubblicato su 30/07/2022 22:46:07 |
Impara a imparare...
 Padrone di casa| Pubblicato su 18/02/2023 21:25:31 |
Esempio post-robot di comunicazione con finestre del browser
https://www.itsvse.com/thread-10428-1-1.html
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com