Rumah > masalah biasa > Cara menggunakan postmessage

Cara menggunakan postmessage

小老鼠
Lepaskan: 2023-11-27 10:38:36
asal
2365 orang telah melayarinya

Penggunaan asas kaedah postMessage: 1. Dalam tetingkap atau tab di mana anda ingin menghantar mesej, gunakan kaedah postMessage untuk menghantar mesej ke tetingkap sasaran. Ia menerima dua parameter: objek mesej yang akan dihantar dan pengecam tetingkap sasaran (pilihan); 2. Dalam tetingkap sasaran, gunakan kaedah addEventListener untuk mendengar acara mesej menerima mesej daripada tetingkap lain.

Cara menggunakan postmessage

postMessage ialah kaedah JavaScript untuk menghantar mesej antara tetingkap penyemak imbas. Ia membenarkan mesej dihantar antara tetingkap atau tab penyemak imbas yang terbuka tanpa perlu mengikatnya pada nama domain atau port yang sama.

Berikut ialah penggunaan asas kaedah postMessage:

1 Dalam tetingkap atau tab di mana anda ingin menghantar mesej, gunakan kaedah postMessage untuk menghantar mesej ke tetingkap sasaran. Ia menerima dua parameter: objek mesej yang akan dihantar dan pengecam pilihan tetingkap sasaran.

// 发送消息到目标窗口  
var message = { key1: "value1", key2: "value2" };  
var targetWindow = window.open("https://example.com");  
targetWindow.postMessage(message, "*");
Salin selepas log masuk

Dalam contoh di atas, kami mencipta objek mesej yang mengandungi pasangan nilai kunci dan membuka tetingkap baharu melalui window.open. Kami kemudian menggunakan kaedah postMessage untuk menghantar mesej ke tetingkap baharu.

2 Dalam tetingkap sasaran, anda boleh menggunakan kaedah addEventListener untuk mendengar acara mesej untuk menerima mesej daripada tetingkap lain.

// 在目标窗口中监听消息事件  
window.addEventListener("message", function(event) {  
  // 接收并处理发送过来的消息  
  var receivedMessage = event.data;  
  console.log("Received message: ", receivedMessage);  
});
Salin selepas log masuk

Dalam contoh di atas, kami menambahkan pendengar acara menggunakan kaedah addEventListener, yang akan mencetuskan acara apabila mesej daripada tetingkap lain diterima. Dalam pengendali acara, kita boleh mengakses event.data untuk mendapatkan objek mesej yang dihantar.

Sila ambil perhatian bahawa keselamatan kaedah postMessage adalah sangat penting. Untuk mengelakkan potensi risiko keselamatan, adalah disyorkan untuk menentukan nama domain pengesahan (iaitu, nama domain di mana tetingkap penerima terletak) apabila menghantar mesej dan bukannya menggunakan kad bebas "*". Selain itu, tetingkap sasaran harus mengesahkan asal usul mesej untuk memastikan ia datang daripada sumber yang dipercayai.

Atas ialah kandungan terperinci Cara menggunakan postmessage. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan