Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 4712|Yanıt: 2

[HTML/HTML5] HTML5 PostMessage pencere çapraz iletişimi

[Bağlantıyı kopyala]
Yayınlandı 30.07.2022 22:07:04 | | | |
PostMessage, html5 ile tanıtılan yeni bir çapraz kaynak iletişim API'sidir ve ana sayfa ile herhangi bir çerçeve sınıfı sayfası veya window.open tarafından açılan sayfa ile çift yönlü iletişim kurmanıza olanak tanır. Genel çalışma süreci şöyledir:



JS, mevcut sayfanın bir iframe mi yoksa açılır pencere mi olduğunu belirler
https://www.itsvse.com/thread-10342-1-1.html


postMessage(data,origin) yöntemi iki parametreyi kabul eder:

(1) veri: Gönderilecek veri, HTML5 spesifikasyonunda parametrenin herhangi bir temel JavaScript türü veya tekrarlanabilir nesne olabileceği belirtiliyor, ancak tüm tarayıcılar bunu yapmamıştır, bazı tarayıcılar sadece dizi parametrelerini işleyebilir, bu yüzden parametreleri geçirirken nesne parametrelerini serileştirmek için JSON.stringify() yöntemini kullanmamız ve benzer etkiler elde etmek için IE'nin alt sürümündeki json2.js'ye başvurmamız gerekir.

(2) orijin: Dizi parametresi, hedef pencerenin kaynağını belirt, protokol + host + port numarası [+URL], URL göz ardı edilir, bu yüzden yazılamaz, bu parametre güvenlik açısından kullanılır, postMessage() yöntemi mesajı sadece belirtilen pencereye iletecektir, tabii ki, isterseniz parametreyi "*" olarak da ayarlayabilirsiniz, böylece herhangi bir pencereye iletilebilir, mevcut pencereyle aynı kökeni belirtmek isterseniz "/" olarak ayarlanır;


Mesajları kendiniz gönderin ve alın

Kod şöyledir:



Ana pencere bir mesajı çocuk pencereye gönderir ve ana pencere mesajı alır

Kod şöyledir:




Çocuk pencere ana pencereye bir mesaj gönderir ve ana pencere mesajı alır

Kod şöyledir:



Ayrıca, aşağıdaki adreste çapraz alanlar arası mesajlaşma için istemciye basit bir dinleyici/istemci modu bağlanmıştır:Bağlantı girişi görünür.

(Son)




Önceki:JS, mevcut sayfanın bir iframe mi yoksa açılır pencere mi olduğunu belirler
Önümüzdeki:Docker, konteyner işlemcisi, bellek ve diğer kaynakları değiştirir ve kısıtlar
Yayınlandı 30.07.2022 22:46:07 |
Öğrenmeyi öğren...
 Ev sahibi| Yayınlandı 18.02.2023 21:25:31 |
Robot sonrası tarayıcı penceresi iletişimi örneği
https://www.itsvse.com/thread-10428-1-1.html
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com