Maison interface Web js tutoriel js跨域问题之跨域iframe自适应大小实现代码_javascript技巧

js跨域问题之跨域iframe自适应大小实现代码_javascript技巧

May 16, 2016 pm 06:22 PM
iframe taille adaptative 跨域

复制代码 代码如下:


<script> <BR>function setHeight(){ <BR>var dHeight = document.documentElement.scrollHeight; <BR>var t = document.createElement("div"); <BR>t.innerHTML = '<iframe id="kxiframeagent" src="http://rest.kaixin001.com/api/agent.html#'+dHeight+'"scrolling="yes" height="0px" width="0px">'; <BR>document.documentElement.appendChild(t.firstChild); <BR>} <BR></script>

我想着跨域如何解决啊!后来去网上搜索了一下子 恍然大悟

具体如下 我是复制过来了 大家重点理解一下子它的实现思路 :


问题:

A域名下的页面a.htm中通过iframe嵌入B域名下的页面b.html,由于b.html的大小等是不可预知而且会变化的,所以需要 a.htm中的iframe自适应大小.

问题本质 :

js的跨域问题,因为要控制a.htm中iframe的大小就必须首先读取得到b.html的大小,A、B不属于同一个域,js的访问受限,读取不 到b.html的大小.

解决方案:

首先前提是A,B是合作关系,b.html中能引入A提供的js

首先a.html中通过iframe引入了b.html

复制代码 代码如下:




B在b.html中引入了A提供的js文件

Html代码
复制代码 代码如下:



该js首先读取b.html的宽和高,然后创建一个iframe,src为和A同一个域的中间代理页面a_proxy.html,吧读取到的宽和 高设置到src的hash里面

Html代码
复制代码 代码如下:



a_proxy.html是A域下提供好的中间代理页面,它负责读取location.hash里面的width和height的值,然后设置与 它同域下的a.html中的iframe的宽和高.

Js代码
复制代码 代码如下:

var pParentFrame = parent.parent.document.getElementById("aIframe");
var locationUrlHash = parent.parent.frames["aIframe"].frames["iframeProxy"].location.hash;
pParentFrame.style.width = locationUrlHash.split("#")[1].split("|")[0]+"px";
pParentFrame.style.height = locationUrlHash.split("#")[1].split("|")[1]+"px";
var pParentFrame = parent.parent.document.getElementById("aIframe");
var locationUrlHash = parent.parent.frames["aIframe"].frames["iframeProxy"].location.hash;
pParentFrame.style.width = locationUrlHash.split("#")[1].split("|")[0]+"px";
pParentFrame.style.height = locationUrlHash.split("#")[1].split("|")[1]+"px";

这样的话a.html中的iframe就自适应为b.html的宽和高了.

其他一些类似js跨域操作问题也可以按这个思路去解决
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Comment recadrer un IFrame en HTML ? Comment recadrer un IFrame en HTML ? Aug 29, 2023 pm 04:33 PM

Les frames en ligne sont appelés iframes en HTML. Une étiquette spécifie une zone rectangulaire dans le contenu où le navigateur peut afficher différents documents avec des barres de défilement et des bordures. Pour intégrer un autre document dans le document HTML actuel, utilisez des cadres en ligne. Une référence à un élément peut être spécifiée à l'aide de l'attribut de nom HTMLiframe. En JavaScript, les références aux éléments sont également faites à l'aide de l'attribut name. Une iframe est essentiellement utilisée pour afficher une page Web dans la page Web actuellement affichée. L'URL du document contenant l'iframe est spécifiée à l'aide de l'attribut "src". Syntaxe Voici la syntaxe du HTML <iframesrc="URL"title="d

Que signifie l'identifiant de données dans iframe ? Que signifie l'identifiant de données dans iframe ? Aug 28, 2023 pm 02:25 PM

Le data-id dans une iframe fait référence à un attribut personnalisé utilisé dans les balises HTML pour stocker l'identifiant d'un élément spécifique. En utilisant l'attribut data-id, vous pouvez ajouter un identifiant unique à l'élément iframe afin qu'il puisse être manipulé et accessible en JavaScript. La dénomination de l'attribut data-id peut être personnalisée en fonction de besoins spécifiques, mais certaines conventions de dénomination sont généralement suivies pour garantir son unicité et sa lisibilité. L'attribut data-id peut également être utilisé pour identifier et manipuler une iframe spécifique.

Solution au problème inter-domaines de session PHP Solution au problème inter-domaines de session PHP Oct 12, 2023 pm 03:00 PM

Solution au problème inter-domaines de PHPSession Dans le développement de la séparation front-end et back-end, les requêtes inter-domaines sont devenues la norme. Lorsque nous traitons de problèmes interdomaines, nous impliquons généralement l'utilisation et la gestion de sessions. Cependant, en raison des restrictions de la politique d'origine du navigateur, les sessions ne peuvent pas être partagées par défaut entre les domaines. Afin de résoudre ce problème, nous devons utiliser certaines techniques et méthodes pour réaliser le partage de sessions entre domaines. 1. L'utilisation la plus courante des cookies pour partager des sessions entre domaines

Quels sont les événements de chargement d'iframe ? Quels sont les événements de chargement d'iframe ? Aug 28, 2023 pm 01:55 PM

Les événements de chargement de l'iframe incluent l'événement onload, l'événement onreadystatechange, l'événement onbeforeunload, l'événement onerror, l'événement onabort, etc. Description détaillée : 1. événement onload, spécifiant le code JavaScript à exécuter après le chargement de l'iframe ; 2. événement onreadystatechange, spécifiant le code JavaScript à exécuter lorsque l'état de l'iframe change, etc.

Que signifie iframe en Python ? Que signifie iframe en Python ? Aug 25, 2023 pm 03:24 PM

iframe en Python est une balise HTML utilisée pour intégrer une autre page Web ou un autre document dans une page Web. En Python, vous pouvez utiliser diverses bibliothèques et frameworks pour traiter et manipuler les iframes, dont la plus couramment utilisée est la bibliothèque BeautifulSoup, qui peut facilement extraire le contenu d'une iframe d'une page Web et le manipuler et le traiter. Savoir comment gérer et manipuler les iframes est extrêmement utile à la fois pour le développement Web et pour le scraping de données.

Quel est le danger dans les iframes Quel est le danger dans les iframes Sep 08, 2023 pm 03:14 PM

Les dangers liés aux iframes incluent principalement : 1. Les vulnérabilités de sécurité peuvent charger d'autres pages Web via des iframes et mener certaines attaques ; 2. Une percée de la politique de même origine en chargeant des pages Web sous d'autres noms de domaine dans des iframes. la politique d'origine peut être violée. Stratégie pour parvenir à une communication inter-domaines, qui peut être attaquée de manière malveillante ; 3. Problèmes d'exécution de code, les pages Web chargées dans les iframes peuvent exécuter du code JS, ce qui peut entraîner des problèmes de sécurité. 4. Problèmes de référencement, moteurs de recherche ; il se peut que vous ne puissiez pas analyser et indexer correctement le contenu chargé via iframe et plus encore.

Surveiller le comportement de défilement des iframes Surveiller le comportement de défilement des iframes Feb 18, 2024 pm 08:40 PM

Comment surveiller le défilement d'une iframe nécessite des exemples de code spécifiques Lorsque nous utilisons la balise iframe pour intégrer d'autres pages Web dans une page Web, nous devons parfois effectuer certaines opérations spécifiques sur le contenu de l'iframe. L'un des besoins courants est d'écouter l'événement de défilement de l'iframe afin que le code correspondant puisse être exécuté lorsque le défilement se produit. Ce qui suit explique comment utiliser JavaScript pour surveiller le défilement d'une iframe et fournit des exemples de code spécifiques à titre de référence. Récupérer l'élément iframe Tout d'abord, nous avons besoin

Qu'est-ce qu'un lecteur intégré iframe ? Qu'est-ce qu'un lecteur intégré iframe ? Aug 25, 2023 pm 02:13 PM

Le lecteur intégré iframe est une technologie qui intègre un lecteur vidéo dans une page Web. Les avantages du lecteur intégré sont les suivants : 1. Flexibilité, grâce à l'utilisation de balises iframe, des médias vidéo provenant de différentes sources peuvent être intégrés dans la même page Web ; 2. Facilité d'utilisation, il suffit de copier et coller le code d'intégration pour lire. Le lecteur peut être ajouté à la page Web ; 3. L'apparence et le comportement du lecteur peuvent être contrôlés en définissant des paramètres ; 4. Le fonctionnement du lecteur peut être contrôlé en utilisant JavaScript, etc.

See all articles