|
|
Paskelbta 2022-07-30 22:07:04
|
|
|
|

PostMessage yra nauja kryžminės kilmės komunikacijos API, pristatyta html5, leidžianti bendrauti dviem kryptimis su pagrindiniu puslapiu ir bet kuriuo rėmelių klasės puslapiu arba window.open atidarytu puslapiu. Bendras jo veikimo procesas yra toks:
postMessage(data,origin) metodas priima du parametrus:
(1) duomenys: perduodami duomenys, HTML5 specifikacijoje minima, kad parametras gali būti bet koks pagrindinis JavaScript tipas arba atkuriamas objektas, tačiau ne visos naršyklės tai padarė, kai kurios naršyklės gali apdoroti tik eilutės parametrus, todėl perduodant parametrus turime naudoti JSON.stringify() metodą, kad perduodant parametrus eiluteotume objekto parametrus, ir remtis json2.js žemesnėje IE versijoje, kad pasiektume panašų efektą.
(2) kilmė: eilutės parametras, nurodykite tikslinio lango šaltinį, protokolas + pagrindinis kompiuteris + prievado numeris [+URL], URL bus nepaisoma, todėl jo negalima parašyti, šis parametras skirtas saugumo sumetimais, postMessage() metodas perduos pranešimą tik į nurodytą langą, žinoma, jei norite, taip pat galite nustatyti parametrą į "*", kad jį būtų galima perduoti į bet kurį langą, jei norite nurodyti tą pačią kilmę kaip ir dabartinis langas, jis nustatytas į "/";
Patys siųskite žinutes ir gaukite pranešimus
Kodas yra toks:
Pirminis langas siunčia pranešimą į antrinį langą, o antrinis langas gauna pranešimą
Kodas yra toks:
Antrinis langas siunčia pranešimą į pirminį langą, o pirminis langas gauna pranešimą
Kodas yra toks:
Be to, prie kliento pridedamas paprastas klausytojo / kliento režimas, skirtas kelių domenų pranešimams šiuo adresu:Hipersaito prisijungimas matomas.
(Pabaiga)
|
Ankstesnis:JS nustato, ar dabartinis puslapis yra iframe, ar iššokantis langasKitą:"Docker" modifikuoja ir riboja konteinerio procesorių, atmintį ir kitus išteklius
|