Rumah >masalah biasa >Cara menggunakan postmessage

Cara menggunakan postmessage

小老鼠
小老鼠asal
2023-11-27 10:38:362354semak imbas

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, "*");

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);  
});

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!

Kenyataan:
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 sebelumnya:Penggunaan teg benamArtikel seterusnya:Penggunaan teg benam