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

WBOY
Lepaskan: 2016-05-16 15:49:55
asal
1451 orang telah melayarinya

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; 

Salin selepas log masuk

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节点 
}
Salin selepas log masuk

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

Salin selepas log masuk

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.

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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!