Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 4712|Atsakyti: 2

[HTML/HTML5] HTML5 "PostMessage" ryšys tarp langų

[Kopijuoti nuorodą]
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:



JS nustato, ar dabartinis puslapis yra iframe, ar iššokantis langas
https://www.itsvse.com/thread-10342-1-1.html


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 langas
Kitą:"Docker" modifikuoja ir riboja konteinerio procesorių, atmintį ir kitus išteklius
Paskelbta 2022-07-30 22:46:07 |
Išmokite mokytis...
 Savininkas| Paskelbta 2023-02-18 21:25:31 |
Naršyklės langų bendravimo pavyzdys po roboto
https://www.itsvse.com/thread-10428-1-1.html
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com