PostMessage er et nyt cross-origin kommunikations-API introduceret i html5, som gør det muligt at kommunikere tovejskommunikation med hovedsiden og enhver frame-klasse side eller en side, der åbnes af window.open. Dens generelle driftsproces er som følger:
postMessage(data,origin)-metoden accepterer to parametre:
(1) data: De data, der skal sendes, HTML5-specifikationen nævner, at parameteren kan være enhver grundlæggende type JavaScript eller et reproducerbart objekt, men ikke alle browsere har gjort dette, nogle browsere kan kun håndtere strengparametre, så vi skal bruge JSON.stringify()-metoden til at serialisere objektparametrene, når parametrene sendes videre, og referere til json2.js i den lavere version af IE for at opnå lignende effekter.
(2) oprindelse: Strengparameter, angiver kilden til målvinduet, protokol + vært + portnummer [+URL], URL'en ignoreres, så den kan ikke skrives, denne parameter er af sikkerhedsmæssige årsager, postMessage()-metoden sender kun beskeden til det angivne vindue, selvfølgelig, hvis du vil, kan du også sætte parameteren til "*", så den kan sendes til ethvert vindue, hvis du vil angive samme oprindelse som det aktuelle vindue, er den sat til "/";
Send beskeder og modtag beskeder selv
Koden er som følger:
Forældrevinduet sender en besked til undervinduet, og undervinduet modtager beskeden
Koden er som følger:
Børnevinduet sender en besked til forældrevinduet, og forældrevinduet modtager beskeden
Koden er som følger:
Derudover er en simpel lytter/klient-tilstand tilknyttet klienten til krydsdomæne-beskeder på følgende adresse:Hyperlink-login er synlig.
(Slut)
|