Rumah > hujung hadapan web > tutorial js > kaedah jquery untuk mengendalikan iframe_jquery

kaedah jquery untuk mengendalikan iframe_jquery

WBOY
Lepaskan: 2016-05-16 16:29:23
asal
1499 orang telah melayarinya

Mari kita lihat dahulu fail bantuan untuk kandungan objek() dalam JQUERY

kandungan()
Gambaran keseluruhan
Cari semua nod anak (termasuk nod teks) di dalam elemen padanan. Jika elemen ialah iframe, cari kandungan dokumen


Contoh
Penerangan:
Cari semua nod teks dan tebal

HTML

Salin kod Kod adalah seperti berikut:

jQuery

Salin kod Kod adalah seperti berikut:

$("p").contents().not("[nodeType=1]").wrap("");Hasil:

Hello JohnJohn>, apa khabar sedang lakukan?



Penerangan:

Tambahkan beberapa kandungan pada bingkai kosong

HTML


Salin kod Kod adalah seperti berikut:


jQuery


Salin kod Kod adalah seperti berikut:
$("iframe").contents().cari("body")
.append("Saya dalam iframe!");


Alih keluar bingkai sempadan iframe="0"

1 Terdapat dua ifame dalam kandungan

Salin kod Kod adalah seperti berikut:



jQuery dalam leftiframe menukar kod src mainframe:


$("#mainframe",parent.document.body).attr("src","
http://www.baidu.com
")
2 Jika terdapat ifame dengan ID kerangka utama dalam kandungan




Dalam sub-tetingkap A dan B, saya meletakkan P dengan hello ID untuk memudahkan demonstrasi operasi DOM kami Kod HTML utama sub-tetingkap A dan B adalah seperti berikut:

Salin kod Kod adalah seperti berikut:

Hello World!


1 Dalam iframe, tetingkap induk mengendalikan DOM tetingkap anak

Tetingkap induk dan tetingkap anak telah dibina, supaya kita boleh menggunakan fungsi iframeA() berikut dalam tetingkap induk untuk menukar warna latar belakang tetingkap anak A kepada merah:

Salin kod Kod adalah seperti berikut:

functioniframeA(){//Tukar warna latar belakang sub-tetingkap A dengan ID hello
vara=getIFrameDOM("wIframeA");
a.getElementById('hello').style.background="red";
}
functiongetIFrameDOM(id){//iframeDOM fungsi pemerolehan serasi dengan IE dan Firefox
returndocument.getElementById(id).contentDocument||document.frames[id].document;
}

2. Dalam iframe, tetingkap anak mengendalikan DOM tetingkap induk

Dalam tetingkap anak, kita boleh mengendalikan tetingkap induk DOM Kita hanya perlu menambah kaedah objek induk Yige sebelum operasi DOM Sebagai contoh: dalam tetingkap anak B di atas, kita boleh menggunakan yang berikut kod menggantikan kandungan dengan ID "pHello" dalam tetingkap induk:

------------------

3 Dalam iframe, sub-tetingkap A mengendalikan DOM sub-tetingkap B

Memandangkan tetingkap anak boleh mengendalikan objek tetingkap dan objek dokumen tetingkap induk, tetingkap anak juga boleh mengendalikan DOM tetingkap anak lain~ Broken Bridge Canxue boleh terus menggunakan ibu bapa dalam tetingkap anak B untuk memanggil terus getIFrameDOM dalam tetingkap induk Fungsi mendapatkan objek dokumen sub-tetingkap A, jadi sangat mudah untuk mengubah suai kandungan sub-tetingkap A, seperti kod berikut:

Salin kod Kod adalah seperti berikut:

vara=parent.getIFrameDOM("wIframeA");

============================================ === =====================================

Masalah dengan ketinggian iframe yang berubah secara automatik telah mengganggu saya untuk masa yang lama saya mencari maklumat di Internet, tetapi ia tidak begitu baik saya menggabungkannya dengan jquery (versi 1.3.2), iaitu hanya 4 baris kod ia sangat serasi dengan IE, Firefox, Opera, Safari, Google
Chrome, js adalah seperti berikut:

Salin kod Kod adalah seperti berikut:

set ketinggian fungsi(Bingkai ini){
if($.browser.mozilla || $.browser.msie){
             bodyHeight =window.frames["thisFrameName"].document.body.scrollHeight;
}lain{
             bodyHeight =thisFrame.contentWindow.document.documentElement.scrollHeight;
//Baris ini boleh menggantikan baris sebelumnya, supaya parameter fungsi heightSet boleh diabaikan
//bodyHeight = document.getElementById("thisFrameId").contentWindow.document.documentElement.scrollHeight;
}
        document.getElementById("thisFrameId").height=bodyHeight; }


Petikan

Kata kunci ini nampaknya mempunyai makna yang berbeza dalam pelbagai pelayar FF dan IE mesti menggunakan nama iframe untuk mendapatkan ketinggian halaman dalaman, manakala pelayar lain boleh menggunakan ini atau ID

Petikan

Mereka semua bercakap tentang masalah tak segerak Jika anda banyak menggunakan ajax, tetapi tidak mahu menyediakannya setiap kali, maka menukar iframe secara dinamik pasti tidak akan memenuhi keperluan kebersihan kod anda. atau anda boleh meninggalkan iframe . Saya hanya boleh bercakap tentang kaedah pemprosesan umum Lagipun, ajax atau borang dinamik hanya menyumbang sebahagian kecil dalam aplikasi umum Selepas permintaan tak segerak, anda hanya perlu menambah:

pada akhirnya.

Kod Js


Salin kod Kod adalah seperti berikut:
parent.window.heightSet();

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