Karena keterbatasan kebijakan homolog, komunikasi lintas domain selalu menjadi masalah yang sulit. Tentu saja ada banyak solusi:
1. Pengaturan dokumen.domain+iframe diterapkan pada domain utama dan subdomain berbeda;
2. Menggunakan iframe dan lokasi. Hancurkan, data secara langsung terpapar ke URL, dan kapasitas dan jenis data terbatas.
3.Flash LocalConnection, objek dapat berkomunikasi dalam satu file SWF atau di antara beberapa file SWF, selama
Berada di klien yang sama, aplikasi silang, dan domain silang.
Window.name menyimpan data dan silang iframe proxy proxy dinamis skema transmisi, sepenuhnya menggunakan fitur window.name yang tidak berubah karena perubahan URL halaman.
Ada banyak contoh kode di internet, Anda dapat mencarinya sendiri.
Salah satu API paling keren di HTML5: Pesan Dokumen Cross. Advanced Browser Internet Explorer 8+, Chrome, Firefox, Opera dan Safari semuanya akan mendukung fitur ini. Fungsi ini juga sangat mudah diimplementasikan, terutama termasuk acara "pesan" yang menerima informasi dan metode "postmessage" yang mengirim pesan.
Metode "postmessage" untuk mengirim pesan
Kirim pesan ke jendela luar:
Salinan kode adalah sebagai berikut: OtherWindow.PostMessage (pesan, targetorigin);
OtherWindow: mengacu pada jendela target, yaitu, jendela mana yang dikirim, itu adalah anggota atribut window.frames atau jendela yang dibuat oleh metode window.open
Deskripsi Parameter:
1.Message: Ini adalah pesan yang akan dikirim, jenisnya adalah string, objek (tidak didukung oleh IE8, 9)
2.Targetorigin: Ini adalah kisaran penerima pesan terbatas, dan Anda tidak membatasi itu.
Acara "Pesan" yang menerima informasi
Salinan kode adalah sebagai berikut:
var onMessage = function (event) {
var data = event.data;
var asal = event.origin;
// lakukan beberapa
};
if (typeof window.addeventListener! = 'tidak terdefinisi') {
window.addeventListener ('pesan', onMessage, false);
} lain jika (typeof window.attachevent! = 'tidak terdefinisi') {
// untuk IE
window.attachevent ('onMessage', onMessage);
}
Parameter pertama dari fungsi callback menerima objek acara dan memiliki tiga properti umum:
1.Data: Pesan
2.Origin: Alamat Sumber
3. Sumber: Sumber DomWindow Object
Tentu saja, postmessage juga memiliki beberapa kekurangan:
1. Nilai tipe data yang dilewati berdasarkan tipe string Dukungan IE8 dan IE9, tetapi Anda dapat menggunakan konversi timbal balik antara objek dan string JSON untuk menyelesaikan masalah ini;
2.ie6, IE7 perlu menulis rencana kompatibilitas.