Heim Web-Frontend js-Tutorial Verwenden Sie jquery, um das Problem mit Seitenankerfehlern unter iframe_jquery zu beheben

Verwenden Sie jquery, um das Problem mit Seitenankerfehlern unter iframe_jquery zu beheben

May 16, 2016 pm 04:38 PM
iframe Ankerpunkt

Das Anwendungsszenario ist: Die Iframe-Seite hat keine Bildlaufleisten im übergeordneten Formular, das Anker-Tag wird ungültig, da der Ankerpunkt das Fenster basierend auf der Bildlaufleiste des aktuellen Fensters scrollt und danach verschwindet Es wird zu einem untergeordneten Formular. Die Bildlaufleiste scrollt natürlich nicht.

Die Lösung lautet: Bestimmen Sie mit js, ob die Seite verschachtelt ist, berechnen Sie mit js die Position des Iframes im übergeordneten Formular und die Position des Ankerpunkts im Firame und fügen Sie die beiden hinzu, um den Bildlauf zu erstellen das übergeordnete Formular.

Es ist ein Problem aufgetreten: Holen Sie sich das übergeordnete Formularelement (aufgrund von Domänenbeschränkungen müssen sich alle in der Netzwerkumgebung befinden (z. B. http://domain.com)); aktuelle eine Iframe-Seite.

Code:

Übergeordnete Formularseite index.html

<!doctype html>
<html>
<head>
<title></title>
<style type="text/css">
*{
margin: 0;
padding: 0;
border: 0;
}
html,
body{
width: 100%;
height: 100%;
}
</style>
</head>
<body>
<div style="width:100%;background:#f00;height:500px;"></div>
<a href="">dd</a>
<a href="">ddd</a>
<iframe name="iframe2" id="iframe2" src="iframe.html&#63;a=b&c=d" style="width:100%;height:2060px;"></iframe>
<iframe name="iframe2" id="iframe2" src="iframe.html&#63;a=d&c=b" style="width:100%;height:2060px;"></iframe>
</body>
</html>
Nach dem Login kopieren

Unterformularseite iframe.html

<!doctype html>
<html>
<head>
<title></title>
<style type="text/css">
a{
padding: 5px;
border: 1px solid #f00;
float: left;
display: block;
margin-right: 5px;
}
div{
width: 80%;
margin: 10px auto;
height: 500px;
border: 1px solid #f00;
font-size: 30px;
}
</style>
<script type="text/javascript" src="jquery-1.8.2.min.js"></script>
<script type="text/javascript">
$(function(){
//如果是iframe则需要在网络中访问,因为js里有域限制
//如果没有iframe则不进行处理,
if(window!==window.top){
//获取top窗口中的iframe,如果有iframe嵌套过多,请自行修改
var iframeList=window.top.document.getElementsByTagName('iframe');
for(var i=0;i<iframeList.length;i++){
//判断当前窗口是否循环中的iframe
if(window.location.toString().indexOf(iframeList[i].getAttribute('src').toString())!=-1){

//等自己的所在iframe加载完成给a锚点加事件
window.top.document.getElementsByTagName('iframe')[i].onload=function(){
//确定iframe在父窗体的距顶部距离
var top = window.top.document.getElementsByTagName('iframe')[i].offsetTop;
$('a').each(function(){
var href = $(this).attr('href');
if(href.indexOf('#')!=-1){//判断是否是锚点而不是链接
var name = href.substring(href.indexOf('#')+1);
$(this).bind('click',function(){
$('a').each(function(){
if($(this).attr('name')==name){
//父窗口滚动
$(window.parent).scrollTop($(this).offset().top+top);
}
});
});
}
});
}
}
}
}

});

</script>
</head>
<body>
<a href="#a" rel="external nofollow" >a</a>
<a href="#b" rel="external nofollow" >b</a>
<a href="#c" rel="external nofollow" >c</a>
<a href="#d" rel="external nofollow" >d</a>
<div><a href="" name=" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" a">A</a></div>
<div><a href="" name=" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" b">B</a></div>
<div><a href="" name=" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" c">C</a></div>
<div><a href="" name=" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" d">D</a></div>

</body>
</html>
Nach dem Login kopieren
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

Video Face Swap

Video Face Swap

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

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)

Wie schneide ich einen IFrame in HTML zu? Wie schneide ich einen IFrame in HTML zu? Aug 29, 2023 pm 04:33 PM

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

Warum wird der Iframe langsam geladen? Warum wird der Iframe langsam geladen? Aug 24, 2023 pm 05:51 PM

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.

Was bedeutet Daten-ID im Iframe? Was bedeutet Daten-ID im Iframe? Aug 28, 2023 pm 02:25 PM

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.

Microsoft: Outlook-Fehler lädt bei jedem Besuch die Datei „TokenFactoryIframe' herunter Microsoft: Outlook-Fehler lädt bei jedem Besuch die Datei „TokenFactoryIframe' herunter Apr 19, 2023 am 08:25 AM

Microsoft Outlook lädt unter macOS eine mysteriöse Datei namens „TokenFactoryIframe“ herunter, wenn Benutzer über den Safari-Browser auf den E-Mail-Dienst zugreifen. Dieses Problem wurde inzwischen häufig von Benutzern gemeldet, die „TokenFactoryIframe“-Dateien entdeckt haben, die Outlook bei jedem Besuch herunterlädt. Outlook lädt diese mysteriöse Datei alle paar Sekunden herunter oder zumindest jedes Mal, wenn Sie auf Outlook auf Apple-Plattformen zugreifen. Basierend auf unseren Erkenntnissen scheint es sich hierbei um ein Problem zu handeln, das durch ein falsches serverseitiges Update in Outlook verursacht wurde und nichts mit Safari oder macOS zu tun hat. Microsoft in einer Kopie

Welche Technologie kann Iframe ersetzen? Welche Technologie kann Iframe ersetzen? Aug 24, 2023 pm 01:53 PM

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.

Was sind die Ladeereignisse von iframe? Was sind die Ladeereignisse von iframe? Aug 28, 2023 pm 01:55 PM

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.

Was bedeutet iframe in Python? Was bedeutet iframe in Python? Aug 25, 2023 pm 03:24 PM

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.

Was ist die Gefahr in Iframes? Was ist die Gefahr in Iframes? Sep 08, 2023 pm 03:14 PM

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.

See all articles