Rumah hujung hadapan web tutorial js IFrame跨域高度自适应实现代码_javascript技巧

IFrame跨域高度自适应实现代码_javascript技巧

May 16, 2016 pm 05:50 PM
Adaptif

复制代码 代码如下:

var iframeids = ['memberIndexIframe','inquiryCenterIframe','everychinaBbsIframe'];
var iframehide = "yes";
function dynIframeSize(){
var dyniframe = [];
for(var i=0;iif(!document.getElementById) return false;
dyniframe[i] = document.getElementById(iframeids[i]);
if(dyniframe[i] && !window.opera){
dyniframe[i].style.display = "block";
if(dyniframe[i].contentDocument && dyniframe[i].contentDocument.body.offsetHeight){
dyniframe[i].height = dyniframe[i].contentDocument.body.offsetHeight;
}else if(dyniframe[i].Document && dyniframe[i].Document.body.scrollHeight){
dyniframe[i].height = dyniframe[i].Document.body.scrollHeight;
}
}
if((document.all || document.getElement) && iframeids == "no") {
var tempobj = document.all?document.all[iframeids[i]] : document.getElementById(iframeids[i]);
tempobj.style.display = "block";
}
}
}
if (window.addEventListener)
window.addEventListener("load", dynIframeSize, false)
else if (window.attachEvent)
window.attachEvent("onload", dynIframeSize)
else {
window.onload = dynIframeSize;
}

对于上面的代码直接保存一个文件iframe.js,然后引用即可

注意:这段代码对于跨域的iframe引用不太适用,需要特别定义其iframe高度

下面这个代码是跨域的iframe高度

项目网站中需要嵌入合作网站的页面,这就需要页面的自适应高度变化,并且是跨域的。在网上看了许多资料,加上自己的实践,终于实现了跨域的IFrame自适应高度。如下:

首先,我的页面a.html需要引入对方的b.html,在这里运用iframe方式实现页面的套用
a.html页面的主要代码如下:
复制代码 代码如下:





a.html页面只是用来引入对方页面的一个简单页面 这就不多做介绍。
然后,最好在a.html同一级目录下,创建一个agent.html页面,该页面用来得到对方通过js传递过来的参数,
根据高度参数来调整a.html中的a_iframe的高度,主要代码如下:
Js代码
复制代码 代码如下:



最后,对方的页面(b.html),让对方在b.html中加入以下javascript代码
复制代码 代码如下:




通过 Math.max(clientHeight,scrollHeight)比较网页可见区域高,网页正文全文高这两者得到其中的较大的值后,
iframe将这个height通过src传递到我的agent.html,这样a.html中的Iframe就能自适应对方的b.html高度了。这里在IE下测试的没问题,其它浏览器没测试。
在实现这个功能的过程中,在网上发现了一段很有用的获取页面高度的js,在这里也记录、引用下:
复制代码 代码如下:

<script> <BR>var strInfo=" " ; <BR>strInfo+=" \r\n网页可见区域宽:" +document.body.clientWidth; <BR>strInfo+=" \r\n网页可见区域高:" +document.body.clientHeight; <BR>strInfo+=" \r\n网页可见区域宽:" +document.body.offsetWidth+" (包括边线的宽)" ; <BR>strInfo+=" \r\n网页可见区域高:" +document.body.offsetHeight+" (包括边线的宽)" ; <BR>strInfo+=" \r\n网页正文全文宽:" +document.body.scrollWidth; <BR>strInfo+=" \r\n网页正文全文高:" +document.body.scrollHeight; <BR>strInfo+=" \r\n网页被卷去的高:" +document.body.scrollTop; <BR>strInfo+=" \r\n网页被卷去的左:" +document.body.scrollLeft; <BR>strInfo+=" \r\n网页正文部分上:" +window.screenTop; <BR>strInfo+=" \r\n网页正文部分左:" +window.screenLeft; <BR>strInfo+=" \r\n屏幕分辨率的高:" +window.screen.height; <BR>strInfo+=" \r\n屏幕分辨率的宽:" +window.screen.width; <BR>strInfo+=" \r\n屏幕可用工作区高度:" +window.screen.availHeight; <BR>strInfo+=" \r\n屏幕可用工作区宽度:" +window.screen.availWidth; <BR>window.confirm(strInfo); <BR></script>
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk mengkonfigurasi kecerahan penyesuaian kandungan pada Windows 11 Bagaimana untuk mengkonfigurasi kecerahan penyesuaian kandungan pada Windows 11 Apr 14, 2023 pm 12:37 PM

Kecerahan penyesuaian ialah ciri pada komputer Windows 11 yang melaraskan tahap kecerahan skrin anda berdasarkan kandungan yang dipaparkan atau keadaan pencahayaan. Memandangkan sesetengah pengguna masih membiasakan diri dengan antara muka baharu Windows 11, Adaptive Brightness tidak dapat ditemui dengan mudah, malah ada yang mengatakan ciri Adaptive Brightness tiada pada Windows 11, jadi tutorial ini akan membersihkan semuanya. Contohnya, jika anda menonton video YouTube dan video itu tiba-tiba menunjukkan pemandangan gelap, Kecerahan Suaian akan menjadikan skrin lebih cerah dan meningkatkan tahap kontras. Ini berbeza daripada kecerahan automatik, iaitu tetapan skrin yang membolehkan komputer, telefon pintar atau peranti anda melaraskan tahap kecerahan berdasarkan pencahayaan ambien. Terdapat yang istimewa di kamera hadapan

Bagaimana untuk membina antara muka mudah alih adaptif dengan Vue? Bagaimana untuk membina antara muka mudah alih adaptif dengan Vue? Jun 27, 2023 am 11:05 AM

Dengan populariti Internet mudah alih, semakin banyak laman web dan aplikasi perlu mempertimbangkan pengalaman mudah alih. Sebagai rangka kerja bahagian hadapan yang popular, Vue mempunyai reka letak responsif dan keupayaan penyesuaian, yang boleh membantu kami membina antara muka mudah alih adaptif. Artikel ini akan memperkenalkan cara menggunakan Vue untuk membina antara muka mudah alih adaptif. Menggunakan rem dan bukannya px sebagai unit dan menggunakan px sebagai unit dalam antara muka mudah alih boleh mengakibatkan kesan paparan yang tidak konsisten pada peranti yang berbeza. Oleh itu, adalah disyorkan untuk menggunakan rem dan bukannya px sebagai unit. rem adalah relatif

Bagaimana untuk melaksanakan saiz imej penyesuaian menggunakan unit CSS Viewport vmin dan vw Bagaimana untuk melaksanakan saiz imej penyesuaian menggunakan unit CSS Viewport vmin dan vw Sep 13, 2023 am 08:18 AM

Cara menggunakan unit CSSViewport vmin dan vw untuk melaksanakan saiz imej adaptif Dalam reka bentuk web, kita sering menghadapi situasi di mana imej perlu disesuaikan dengan saiz skrin. Untuk mencapai matlamat ini, CSS menyediakan unit berkuasa - unit port pandang. Antaranya, vmin mewakili peratusan sisi yang lebih kecil lebar viewport, dan vw mewakili peratusan lebar viewport. Oleh itu, kita boleh menggunakan kedua-dua unit ini untuk mencapai kesan saiz imej penyesuaian. Khususnya akan diperkenalkan di bawah

CSS Viewport: Cara menggunakan vmax dan vw untuk melaksanakan lebar teks adaptif CSS Viewport: Cara menggunakan vmax dan vw untuk melaksanakan lebar teks adaptif Sep 13, 2023 am 10:16 AM

CSSViewport: Cara menggunakan vmax dan vw untuk melaksanakan lebar teks adaptif Dengan populariti peranti mudah alih, reka bentuk responsif telah menjadi konsep penting dalam reka bentuk web. Antaranya, lebar teks penyesuaian untuk mengekalkan kesan paparan yang konsisten di bawah saiz skrin yang berbeza adalah teknologi penting. Artikel ini akan memperkenalkan cara menggunakan unit CSSViewport, terutamanya unit vmax dan vw, untuk melaksanakan lebar teks penyesuaian. Sebagai tambahan kepada penjelasan teori, kami juga akan memberikan khusus

Pelayan Adaptif dalam PHP8.0 Pelayan Adaptif dalam PHP8.0 May 14, 2023 pm 01:10 PM

Pada 26 November 2020, pasukan PHP secara rasmi mengeluarkan versi PHP 8.0 Berbanding dengan versi sebelumnya, PHP 8.0 membawakan banyak ciri dan penambahbaikan baharu Salah satu ciri yang perlu diberi perhatian ialah pelayan penyesuaian. Artikel ini akan memperkenalkan konsep pelayan suai dalam PHP8.0 dan kelebihannya. Dalam versi PHP sebelumnya, pembangun boleh menggunakan pelayan PHP sendiri (seperti PHP-FPM, Apache) untuk menjalankan kod mereka sendiri. Walau bagaimanapun, kelemahan pelayan ini

Bolehkah vue menjadi adaptif? Bolehkah vue menjadi adaptif? Dec 30, 2022 pm 03:25 PM

Vue boleh mencapai penyesuaian diri Kaedah untuk mencapai penyesuaian diri ialah: 1. Pasang komponen "kotak skala" melalui arahan "pemasangan npm" atau "tambah benang", dan gunakan "kotak skala" untuk mencapai penskalaan penyesuaian. ; 2. Melalui Tetapkan nisbah piksel peranti untuk mencapai penyesuaian diri 3. Tetapkan atribut zum melalui JS untuk melaraskan nisbah zum untuk mencapai penyesuaian diri.

Bagaimana untuk melaksanakan grid penyesuaian melalui susun atur CSS Flex Bagaimana untuk melaksanakan grid penyesuaian melalui susun atur CSS Flex Sep 26, 2023 pm 12:45 PM

Cara melaksanakan grid adaptif melalui susun atur elastik CSSFlex Pengenalan: Dalam reka bentuk web, reka letak grid ialah kaedah reka letak yang sangat biasa Ia boleh membahagikan halaman web kepada grid seragam dan boleh menyesuaikan pada skrin dengan saiz yang berbeza. Reka letak anjal CSSFlex menyediakan cara yang mudah dan berkuasa untuk melaksanakan susun atur grid penyesuaian. Artikel ini akan memperkenalkan cara menggunakan reka letak elastik CSSFlex untuk mencipta grid penyesuaian dan menyediakan contoh kod khusus. 1. Langkah asas: Cipta HTML

Bagaimana untuk mencapai bar sisi kiri dan kanan adaptif melalui susun atur CSS Flex Bagaimana untuk mencapai bar sisi kiri dan kanan adaptif melalui susun atur CSS Flex Sep 26, 2023 am 10:57 AM

Cara mencapai blurb adaptif untuk bar sisi kiri dan kanan melalui reka letak anjal CssFlex: Dengan pembangunan berterusan reka bentuk web, merealisasikan reka letak penyesuaian halaman telah menjadi keperluan penting. Susun atur elastik CSSFlex ialah cara yang baik untuk menyelesaikan masalah ini. Artikel ini akan memperkenalkan cara melaksanakan reka letak penyesuaian bar sisi kiri dan kanan melalui reka letak anjal CssFlex, dan memberikan contoh kod terperinci. 1. Pengenalan kepada Reka Letak Flex 1.1 Bekas Fleksibel dan Projek Fleksibel Penggunaan susun atur fleksibel

See all articles