IFrame跨域高度自适应实现代码_javascript技巧
var iframeids = ['memberIndexIframe','inquiryCenterIframe','everychinaBbsIframe'];
var iframehide = "yes";
function dynIframeSize(){
var dyniframe = [];
for(var i=0;i
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>

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

La luminosité adaptative est une fonctionnalité sur les ordinateurs Windows 11 qui ajuste le niveau de luminosité de l'écran en fonction du contenu affiché ou des conditions d'éclairage. Étant donné que certains utilisateurs sont encore en train de s'habituer à la nouvelle interface de Windows 11, la luminosité adaptative n'est pas facile à trouver, et certains disent même que la fonctionnalité de luminosité adaptative est manquante sur Windows 11, ce didacticiel va donc tout clarifier. Par exemple, si vous regardez une vidéo YouTube et que la vidéo montre soudainement une scène sombre, la luminosité adaptative rendra l'écran plus lumineux et augmentera le niveau de contraste. Ceci est différent de la luminosité automatique, qui est un paramètre d'écran qui permet à votre ordinateur, smartphone ou appareil d'ajuster les niveaux de luminosité en fonction de l'éclairage ambiant. Il y en a un spécial dans la caméra frontale

Avec la popularité de l’Internet mobile, de plus en plus de sites Web et d’applications doivent prendre en compte l’expérience mobile. En tant que framework frontal populaire, Vue possède une mise en page réactive et des capacités adaptatives, qui peuvent très bien nous aider à créer des interfaces mobiles adaptatives. Cet article expliquera comment utiliser Vue pour créer une interface mobile adaptative. L'utilisation de rem au lieu de px comme unité et l'utilisation de px comme unité dans l'interface mobile peuvent entraîner des effets d'affichage incohérents sur différents appareils. Par conséquent, il est recommandé d’utiliser rem au lieu de px comme unité. rem est relatif

Comment utiliser les unités CSSViewport vmin et vw pour implémenter une taille d'image adaptative. Dans la conception Web, nous rencontrons souvent des situations où les images doivent s'adapter à la taille de l'écran. Pour atteindre cet objectif, CSS fournit une unité puissante : l'unité de fenêtre d'affichage. Parmi eux, vmin représente le pourcentage du plus petit côté de la largeur de la fenêtre et vw représente le pourcentage de la largeur de la fenêtre. Par conséquent, nous pouvons utiliser ces deux unités pour obtenir l’effet de taille d’image adaptative. Les détails seront présentés ci-dessous

CSSViewport : Comment utiliser vmax et vw pour implémenter une largeur de texte adaptative Avec la popularité des appareils mobiles, le design réactif est devenu un concept important dans la conception Web. Parmi eux, la largeur de texte adaptative permettant de maintenir des effets d'affichage cohérents sous différentes tailles d'écran est une technologie importante. Cet article explique comment utiliser les unités CSSViewport, en particulier les unités vmax et vw, pour implémenter une largeur de texte adaptative. En plus des explications théoriques, nous fournirons également des

Le 26 novembre 2020, l'équipe PHP a officiellement publié la version PHP 8.0. Par rapport aux versions précédentes, PHP 8.0 apporte de nombreuses nouvelles fonctionnalités et améliorations. L'une des fonctionnalités à noter est le serveur adaptatif. Cet article présentera le concept de serveur adaptatif en PHP8.0 et ses avantages. Dans les versions précédentes de PHP, les développeurs pouvaient utiliser le propre serveur PHP (tel que PHP-FPM, Apache) pour exécuter leur propre code. Cependant, les inconvénients de ces serveurs

Vue peut réaliser l'auto-adaptation. Les méthodes pour réaliser l'auto-adaptation sont les suivantes : 1. Installez le composant "scale-box" via la commande "npm install" ou "yarn add", et utilisez "scale-box" pour obtenir une mise à l'échelle adaptative. ; 2. En définissant le rapport de pixels de l'appareil pour obtenir une auto-adaptation ; 3. Définissez l'attribut de zoom via JS pour ajuster le rapport de zoom afin d'obtenir une auto-adaptation.

Comment implémenter une grille adaptative via la mise en page élastique CSSFlex Introduction : Dans la conception Web, la mise en page en grille est une méthode de mise en page très courante. Elle peut diviser la page Web en une grille uniforme et peut être adaptative sur des écrans de différentes tailles. La disposition élastique CSSFlex fournit un moyen simple et puissant d’implémenter une disposition de grille adaptative. Cet article explique comment utiliser la disposition élastique CSSFlex pour créer une grille adaptative et fournit des exemples de code spécifiques. 1. Étapes de base : créer du HTML

Comment obtenir des présentations adaptatives pour les barres latérales gauche et droite grâce à la mise en page élastique CssFlex : Avec le développement continu de la conception Web, réaliser une mise en page adaptative de la page est devenue une exigence importante. La disposition élastique CSSFlex est un bon moyen de résoudre ce problème. Cet article présentera comment implémenter la disposition adaptative des barres latérales gauche et droite via la disposition élastique CssFlex et donnera des exemples de code détaillés. 1. Introduction à Flex Layout 1.1 Conteneurs flexibles et projets flexibles Utilisations de la mise en page flexible
