Heim Web-Frontend js-Tutorial IFrame跨域高度自适应实现代码_javascript技巧

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

May 16, 2016 pm 05:50 PM
自适应

复制代码 代码如下:

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>
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So konfigurieren Sie die inhaltsadaptive Helligkeit unter Windows 11 So konfigurieren Sie die inhaltsadaptive Helligkeit unter Windows 11 Apr 14, 2023 pm 12:37 PM

Adaptive Helligkeit ist eine Funktion auf Windows 11-Computern, die die Helligkeit Ihres Bildschirms basierend auf dem angezeigten Inhalt oder den Lichtverhältnissen anpasst. Da sich einige Benutzer noch an die neue Benutzeroberfläche von Windows 11 gewöhnen müssen, ist Adaptive Brightness nicht leicht zu finden, und einige sagen sogar, dass die Adaptive Brightness-Funktion in Windows 11 fehlt, daher wird dieses Tutorial alles klären. Wenn Sie beispielsweise ein YouTube-Video ansehen und das Video plötzlich eine dunkle Szene zeigt, wird der Bildschirm durch die adaptive Helligkeit heller und der Kontrast erhöht. Dies unterscheidet sich von der automatischen Helligkeit, einer Bildschirmeinstellung, die es Ihrem Computer, Smartphone oder Gerät ermöglicht, die Helligkeitsstufen basierend auf der Umgebungsbeleuchtung anzupassen. Eine Besonderheit gibt es in der Frontkamera

Wie erstellt man mit Vue eine adaptive mobile Schnittstelle? Wie erstellt man mit Vue eine adaptive mobile Schnittstelle? Jun 27, 2023 am 11:05 AM

Mit der Popularität des mobilen Internets müssen immer mehr Websites und Anwendungen das mobile Erlebnis berücksichtigen. Als beliebtes Front-End-Framework verfügt Vue über ein reaktionsfähiges Layout und adaptive Funktionen, die uns beim Aufbau adaptiver mobiler Schnittstellen helfen können. In diesem Artikel wird erläutert, wie Sie mit Vue eine adaptive mobile Schnittstelle erstellen. Die Verwendung von rem anstelle von px als Einheit und die Verwendung von px als Einheit in der mobilen Benutzeroberfläche kann zu inkonsistenten Anzeigeeffekten auf verschiedenen Geräten führen. Daher empfiehlt es sich, als Einheit rem statt px zu verwenden. rem ist relativ

So implementieren Sie die adaptive Bildgröße mithilfe der CSS-Viewport-Einheiten vmin und vw So implementieren Sie die adaptive Bildgröße mithilfe der CSS-Viewport-Einheiten vmin und vw Sep 13, 2023 am 08:18 AM

So verwenden Sie die CSSViewport-Einheiten vmin und vw, um die adaptive Bildgröße zu implementieren. Im Webdesign stoßen wir häufig auf Situationen, in denen Bilder an die Bildschirmgröße angepasst werden müssen. Um dieses Ziel zu erreichen, stellt CSS eine leistungsstarke Einheit bereit – die Viewport-Einheit. Dabei repräsentiert vmin den Prozentsatz der kleineren Seite der Breite des Ansichtsfensters und vw den Prozentsatz der Breite des Ansichtsfensters. Daher können wir diese beiden Einheiten verwenden, um den Effekt der adaptiven Bildgröße zu erzielen. Die Einzelheiten werden im Folgenden vorgestellt

CSS-Viewport: So verwenden Sie vmax und vw, um eine adaptive Textbreite zu implementieren CSS-Viewport: So verwenden Sie vmax und vw, um eine adaptive Textbreite zu implementieren Sep 13, 2023 am 10:16 AM

CSSViewport: Verwendung von vmax und vw zur Implementierung adaptiver Textbreite Mit der Popularität mobiler Geräte ist responsives Design zu einem wichtigen Konzept im Webdesign geworden. Darunter ist die adaptive Textbreite zur Aufrechterhaltung konsistenter Anzeigeeffekte bei unterschiedlichen Bildschirmgrößen eine wichtige Technologie. In diesem Artikel wird erläutert, wie Sie CSSViewport-Einheiten, insbesondere Vmax- und VW-Einheiten, verwenden, um die adaptive Textbreite zu implementieren. Neben theoretischen Erläuterungen geben wir auch konkrete Erläuterungen

Adaptiver Server in PHP8.0 Adaptiver Server in PHP8.0 May 14, 2023 pm 01:10 PM

Am 26. November 2020 veröffentlichte das PHP-Team offiziell die Version PHP 8.0. Im Vergleich zu früheren Versionen bringt PHP 8.0 viele neue Funktionen und Verbesserungen mit sich. Eine der erwähnenswerten Funktionen ist der adaptive Server. In diesem Artikel werden das Konzept des adaptiven Servers in PHP8.0 und seine Vorteile vorgestellt. In früheren PHP-Versionen konnten Entwickler den PHP-eigenen Server (z. B. PHP-FPM, Apache) verwenden, um ihren eigenen Code auszuführen. Allerdings sind die Nachteile dieser Server

Kann Vue anpassungsfähig sein? Kann Vue anpassungsfähig sein? Dec 30, 2022 pm 03:25 PM

Vue kann eine Selbstanpassung erreichen: 1. Installieren Sie die Komponente „scale-box“ über den Befehl „npm install“ oder „yarn add“ und verwenden Sie „scale-box“, um eine adaptive Skalierung zu erreichen ; 2. Stellen Sie das Pixelverhältnis des Geräts ein, um eine Selbstanpassung zu erreichen. 3. Stellen Sie das Zoomattribut über JS ein, um das Zoomverhältnis anzupassen, um eine Selbstanpassung zu erreichen.

So implementieren Sie ein adaptives Raster über das CSS-Flex-Layout So implementieren Sie ein adaptives Raster über das CSS-Flex-Layout Sep 26, 2023 pm 12:45 PM

So implementieren Sie ein adaptives Raster mithilfe des elastischen CSSFlex-Layouts: Im Webdesign ist das Rasterlayout eine sehr verbreitete Layoutmethode. Es kann die Webseite in ein einheitliches Raster unterteilen und auf Bildschirmen unterschiedlicher Größe angepasst werden. Das elastische CSSFlex-Layout bietet eine einfache und leistungsstarke Möglichkeit, ein adaptives Rasterlayout zu implementieren. In diesem Artikel wird erläutert, wie Sie mithilfe des elastischen CSSFlex-Layouts ein adaptives Raster erstellen und spezifische Codebeispiele bereitstellen. 1. Grundlegende Schritte: HTML erstellen

So erreichen Sie adaptive linke und rechte Seitenleisten durch CSS Flex-Layout So erreichen Sie adaptive linke und rechte Seitenleisten durch CSS Flex-Layout Sep 26, 2023 am 10:57 AM

So erreichen Sie adaptive Klappentexte für die linke und rechte Seitenleiste durch das elastische CssFlex-Layout: Mit der kontinuierlichen Weiterentwicklung des Webdesigns ist die Umsetzung eines adaptiven Seitenlayouts zu einer wichtigen Anforderung geworden. Das elastische CSSFlex-Layout ist eine gute Möglichkeit, dieses Problem zu lösen. In diesem Artikel wird erläutert, wie das adaptive Layout der linken und rechten Seitenleiste mithilfe des elastischen CssFlex-Layouts implementiert wird, und es werden detaillierte Codebeispiele aufgeführt. 1. Einführung in Flex Layout 1.1 Flexible Container und flexible Projekte Flex Layout verwendet

See all articles