利用location.hash实现跨域iframe自适应_javascript技巧
页面域关系:
主页面a.html所属域A:www.jb51.net
被iframe的页面b.html所属域B:www.baidu.com,假设地址:http://www.baidu.com/b.html
实现效果:
A域名下的页面a.html中通过iframe嵌入B域名下的页面b.html,由于b.html的宽度和高度是不可预知而且会变化的,所以需要a.html中的iframe自适应大小.
问题本质:
js对跨域iframe访问问题,因为要控制a.html中iframe的高度和宽度就必须首先读取得到b.html的大小,A、B不属于同一个域,浏览器为了安全性考虑,使js跨域访问受限,读取不到b.html的高度和宽度.
解决方案:
引入代理代理页面c.html与a.html所属相同域A,c.html是A域下提供好的中间代理页面,假设c.html的地址:www.jb51.net/c.html,它负责读取location.hash里面的width和height的值,然后设置与它同域下的a.html中的iframe的宽度和高度.
代码如下:
a.html代码
首先a.html中通过iframe引入了b.html
b.html代码
c.html代码
a.html中的iframe就可以自适应为b.html的宽和高了.
其他一些类似js跨域操作问题也可以按这个思路去解决
如果不是跨域访问,可以参考这篇文章。iframe自适应高度的多种方法方法小结

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Inline-Frames werden in HTML als Iframes bezeichnet. Eine Beschriftung gibt einen rechteckigen Bereich innerhalb des Inhalts an, in dem der Browser verschiedene Dokumente mit Bildlaufleisten und Rändern anzeigen kann. Um ein anderes Dokument in das aktuelle HTML-Dokument einzubetten, verwenden Sie Inline-Frames. Mit dem HTMLiframe-Namensattribut kann ein Verweis auf ein Element angegeben werden. In JavaScript werden Verweise auf Elemente auch über das Namensattribut hergestellt. Ein Iframe wird im Wesentlichen verwendet, um eine Webseite innerhalb der aktuell angezeigten Webseite anzuzeigen. Die URL des Dokuments, das den Iframe enthält, wird über das Attribut „src“ angegeben. Syntax Das Folgende ist die Syntax von HTML <iframesrc="URL"title="d

Die Gründe für das langsame Laden von Iframes sind hauptsächlich Netzwerkverzögerung, lange Ressourcenladezeit, Ladereihenfolge, Caching-Mechanismus und Sicherheitsrichtlinien. Detaillierte Einführung: 1. Netzwerkverzögerung. Wenn der Browser eine Webseite mit einem Iframe lädt, muss er eine Anfrage an den Server senden, um den Inhalt im Iframe abzurufen 2. Wenn die Ladezeit der Ressource lang ist oder die Antwortzeit des Servers lang ist, ist die Ladegeschwindigkeit offensichtlich langsamer. usw.

Die Daten-ID in einem Iframe bezieht sich auf ein benutzerdefiniertes Attribut, das in HTML-Tags zum Speichern der Kennung eines bestimmten Elements verwendet wird. Mithilfe des data-id-Attributs können Sie dem iframe-Element eine eindeutige Kennung hinzufügen, sodass es in JavaScript bearbeitet und abgerufen werden kann. Die Benennung des data-id-Attributs kann entsprechend den spezifischen Anforderungen angepasst werden, es werden jedoch normalerweise einige Namenskonventionen befolgt, um seine Einzigartigkeit und Lesbarkeit sicherzustellen. Das data-id-Attribut kann auch verwendet werden, um einen bestimmten Iframe zu identifizieren und zu bearbeiten.

Zu den Technologien, die Iframes ersetzen können, gehören Ajax, JavaScript-Bibliotheken oder -Frameworks, Webkomponententechnologien, Front-End-Routing und serverseitiges Rendering. Ausführliche Einführung: 1. Ajax ist eine Technologie zur Erstellung dynamischer Webseiten. Durch den Datenaustausch mit dem Server im Hintergrund kann eine asynchrone Aktualisierung der Seite erreicht werden, ohne dass die gesamte Seite aktualisiert werden muss. Mit Ajax können Inhalte flexibler geladen und angezeigt werden, und es ist nicht erforderlich, andere Seiten mit iFrame einzubetten oder Framework wie React usw.

Zu den Ladeereignissen von iframe gehören das Ereignis onload, das Ereignis onreadystatechange, das Ereignis onbeforeunload, das Ereignis onerror, das Ereignis onabort usw. Detaillierte Beschreibung: 1. onload-Ereignis, das den JavaScript-Code angibt, der nach dem Laden des Iframes ausgeführt werden soll. 2. onreadystatechange-Ereignis, das den JavaScript-Code angibt, der ausgeführt werden soll, wenn sich der Iframe-Status ändert usw.

iframe in Python ist ein HTML-Tag, das zum Einbetten einer anderen Webseite oder eines anderen Dokuments in eine Webseite verwendet wird. In Python können Sie verschiedene Bibliotheken und Frameworks zum Verarbeiten und Bearbeiten von Iframes verwenden. Die am häufigsten verwendete davon ist die BeautifulSoup-Bibliothek, mit der Sie den Inhalt eines Iframes problemlos aus einer Webseite extrahieren und bearbeiten und verarbeiten können. Zu wissen, wie man mit Iframes umgeht und sie manipuliert, ist sowohl für die Webentwicklung als auch für das Daten-Scraping äußerst nützlich.

Zu den Gefahren in Iframes zählen vor allem: 1. Schädliche Webseiten können andere Webseiten über Iframes laden und einige Angriffe ausführen. Durch das Laden von Webseiten unter anderen Domänennamen in Iframes Richtlinie kann verletzt werden, um eine domänenübergreifende Kommunikation zu erreichen, die böswillig angegriffen werden kann. In Iframes geladene Webseiten können JS-Code ausführen, was zu Sicherheitsproblemen führen kann Über Iframe usw. geladene Inhalte können nicht korrekt analysiert und indiziert werden.

Um das Scrollen eines Iframes zu überwachen, sind bestimmte Codebeispiele erforderlich. Wenn wir das Iframe-Tag verwenden, um andere Webseiten in eine Webseite einzubetten, müssen wir manchmal bestimmte Vorgänge für den Inhalt im Iframe ausführen. Eine der häufigsten Anforderungen besteht darin, auf das Scroll-Ereignis des Iframes zu warten, damit der entsprechende Code beim Scrollen ausgeführt werden kann. Im Folgenden wird die Verwendung von JavaScript zum Überwachen des Scrollens eines Iframes vorgestellt und spezifische Codebeispiele als Referenz bereitgestellt. Holen Sie sich zuerst das iframe-Element
