Oleh kerana iframe tanpa sempadan boleh disepadukan dengan lancar dengan halaman web, adalah mungkin untuk mengemas kini beberapa data halaman tanpa menyegarkan halaman Walau bagaimanapun, saiz iframe tidak "berskala" seperti lapisan, jadi ia membawa masalah Dalam masalah, terlalu banyak adalah tidak baik apabila menetapkan ketinggian iframe, dan lebih teruk lagi. Sekarang, izinkan saya memberitahu anda cara untuk melaraskan ketinggian iframe secara dinamik, terutamanya fungsi JS berikut:
Pertama Kaedah ini: Kodnya mudah dan keserasian okey. Anda boleh mengujinya dahulu.
fungsi SetWinHeight(obj)
{
var win=obj;
if (document.getElementById)
{
if (win && !window.opera)
{
if (win.contentDocument && win .contentDocument. body.offsetHeight)
win.height = win.contentDocument.body.offsetHeight;
lain jika(menang.Dokumen && menang.Document.body.scrollHeight)
win.height = menang.Dokumen .body. scrollHeight;
}
}
}
Akhir sekali, apabila menambah iframe, anda tidak boleh kehilangan atribut onload fungsi
Kod jenis ini serupa dengan penyelesaian di atas
Ketinggian penyesuaian iFrame klasik, lulus ujian dalam IE6/IE7/IE8/Firefox/Opera/ Chrome/Safari. Kod HTML:
penyelesaian iframe untuk situasi lain (sangat mudah)
Petua Penting : Alamat web yang anda mesti isi src= mesti berada di tapak yang sama dengan halaman ini, jika tidak, ralat akan berlaku dan menyebut "Akses Ditolak!" ” (Sebenarnya, ini adalah kerana masalah merentas domain Js yang membawa kepada penafian akses)
Saya pernah menghadapi masalah ini sebelum ini, untuk mendapatkan jawapan, saya mencari dalam talian dan mendapati ramai orang juga pernah mengalami masalah ini masalah. Sekarang saya Kongsi penyelesaian
1 Cipta fail bottom.js, dan kemudian masukkan kod berikut (hanya dua baris)
Salin kod
Kodnya adalah seperti berikut:
parent.document.all("Frame ID name").style.height=document.body.scrollHeight; .document.all(" Nama ID Bingkai").style.width=document.body.scrollWidth;
Nama ID bingkai di sini ialah ID Iframe, contohnya:
2. Tambahkan
3 ia sehari!
Lulus ujian di bawah WINXP dan IE6. Ia sangat mudah!
Laksanakan ketinggian penyesuaian iframe
Laksanakan ketinggian penyesuaian iframe, yang boleh menyesuaikan secara automatik dengan panjang halaman untuk mengelakkan fenomena bar skrol muncul pada halaman dan iframe pada masa yang sama.
Salin kod
Kod adalah seperti berikut:
Kaedah ketiga ialah penyesuaian iframe kelompok:
Bila-bila masa anda menemui iframe di tempat kerja Mengenai masalah ketinggian penyesuaian kandungan, saya telah melihat penyelesaian untuk masalah yang sama di Internet sebelum ini, jadi saya mencari dan menemui penyelesaian yang agak lengkap yang serasi dengan pelayar, jadi saya tidak perlu menulisnya sendiri.
Walaupun anda tidak perlu menulisnya sendiri, idea itu masih perlu difahami pada asasnya, ia adalah untuk mendapatkan ketinggian kandungan dalam dokumen yang ditentukan oleh atribut iframe src, dan kemudian menggunakannya untuk menetapkan. ketinggian iframe itu sendiri Apabila halaman tempat iframe berada dimuatkan, ketinggian halaman diubah Semua iframe yang memerlukan ketinggian penyesuaian ditetapkan secara automatik, menjimatkan masa dan usaha Jika ditentukan bahawa semua iframe dalam halaman memerlukan ketinggian penyesuaian, dapatkan secara langsung tatasusunan iframe dan berikannya kepada kod Anda tidak perlu menulis ID sendiri, dan program telah selesai. (Kod itu ditampal:)
Salin kod
Kod adalah seperti berikut:
Seseorang di Internet telah menambah baik kaedah dan menyelesaikan masalah melaraskan ketinggian iframe secara automatik kandungan dokumen yang terkandung dalam iframe berubah secara dinamik Prinsipnya adalah untuk terus mengimbas ketinggian kandungan dokumen yang terkandung dalam iframe pada halaman tempat iframe berada dan menukar ketinggian iframe itu sendiri masalah, tetapi sukar untuk mengatakan sama ada ia akan memberi kesan kepada kelajuan halaman dan penggunaan sumber sistem. Saya rasa kaedah itu agak paranoid.
Kaedah keempat, hanya memanggil ID iframe yang diketahui tidak disyorkan
Salin kod
Kodnya adalah seperti berikut:
function iframeAutoFit(iframeObj){
setTimeout(function(){if(!iframeObj) return;iframeObj.height=(iframeObj.Document?iframeObj.Document. body.scrollHeight :iframeObj.contentDocument.body.offsetHeight);},200) }Cara menggunakannya, anda menambah id pada iframe yang perlu disesuaikan, dan kemudian laksanakan js.