Rumah  >  Artikel  >  hujung hadapan web  >  Penjelasan terperinci tentang contoh komunikasi halaman ibu bapa-anak javascript_kemahiran javascript

Penjelasan terperinci tentang contoh komunikasi halaman ibu bapa-anak javascript_kemahiran javascript

WBOY
WBOYasal
2016-05-16 15:49:551505semak imbas

Contoh dalam artikel ini menerangkan kaedah pelaksanaan komunikasi halaman induk-anak JavaScript. Kongsikan dengan semua orang untuk rujukan anda. Analisis khusus adalah seperti berikut:

Jika halaman dengan domain www.abc.com mengandungi iframe dengan nilai atribut nama childFrame dan domain iframe ini ialah static.abc.com. Kemudian anda boleh menetapkan domain halaman induk kepada abc.com, dan domain halaman anak kepada abc.com, dan kemudian mencapai komunikasi halaman ibu bapa-anak (saya agak keliru di sini tentang konsep halaman ibu bapa-anak dan merentas domain

Anda juga boleh mencapai akses bersama antara halaman ibu bapa dan anak tanpa menggunakan kaedah di atas.
Kaedahnya ialah: gunakan window.frames[0] atau window.frames["childFrame"] pada halaman induk Apa yang dikembalikan ialah objek Window, dan kemudian anda boleh lulus:

var childWindow = window.frames[0];
// 或者 window.frames["childFrame"] 或者直接childFrame 或者childFrame.window 
var childDoc = childWindow.contentDocument || childWindow.document; 

Gunakan childWindow untuk mengakses fungsi yang melaksanakan definisi subhalaman dan gunakan childDoc untuk mengakses nod DOM subhalaman.

Untuk mengakses halaman induk, halaman anak boleh lulus induk (objek Tetingkap Jika halaman sudah menjadi halaman peringkat teratas, ibu bapa==diri akan kembali benar:

).
if(parent != self) {
// 当前页面有父页面 
  // 调用父页面的函数 
  parent.parentFunc(); 
  var parentDoc = parent.contentDocument || parent.document; 
  // 访问父页面的DOM节点 
}

halaman induk www.abc.com:

document.domain = 'abc.com';
var ifr = document.createElement('iframe');
ifr.src = 'http://static.abc.com/';
ifr.style.display = 'none';
document.body.appendChild(ifr);
ifr.onload = function(){
  var doc = ifr.contentDocument || ifr.contentWindow.document;
  // 在这里操纵子页面
  alert(doc.getElementsByTagName("h1")[0].childNodes[0].nodeValue);
};

www.static.abc.com subhalaman:

Salin kod Kod adalah seperti berikut:
document.domain = 'abc.com';

Saya harap artikel ini akan membantu reka bentuk pengaturcaraan JavaScript semua orang.

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