Heim > Web-Frontend > js-Tutorial > Schneller Tipp: xmlhttprequest und innerhtml

Schneller Tipp: xmlhttprequest und innerhtml

Christopher Nolan
Freigeben: 2025-03-07 00:12:14
Original
506 Leute haben es durchsucht

schnelle Tipps für xmlhttprequest und Innerhtml

Quick tip: XMLHttpRequest and innerHTML

xmlhttprequest ist einer der besten Tipps für moderne DHTML. Wenn Sie es noch nie zuvor begegnet sind, ist dies eine Möglichkeit, HTTP -Anrufe an einen gehosteten Webserver auszustellen, ohne die gesamte Seite zu aktualisieren - ein erweitertes Remote -Skript. Es war ursprünglich eine Erweiterung von Microsoft und wurde von der Mozilla Browser -Serie und (beginnend mit Version 1.2) Safari übernommen. Die zuvor diskutierte Sarissa -Bibliothek bietet eine Abstraktionsschicht für verschiedene Browser oder für einen leichteren Ansatz dieser Code von Jibbering.com (der mit IEs Jscript Conditional kompiliert wird) perfekt.

Um das Beste aus XMLHTTPREquest herauszuholen, wird häufig die serverseitige XML verwendet, die Ihre JavaScript-Anwendung in komplexerer Logik abrufen, analysieren und verwenden kann. Für eine schnelle Lösung lädt der folgende Code jedoch das HTML -Snippet aus der URL und fügt ihn direkt in die Seite ein:

function loadFragmentInToElement(fragment_url, element_id) {
    var element = document.getElementById(element_id);
    element.innerHTML = '<p><em>Loading ...</em></p>';
    xmlhttp.open("GET", fragment_url);
    xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            element.innerHTML = xmlhttp.responseText;
        }
    }
    xmlhttp.send(null);
}
Nach dem Login kopieren

Berechnung der obigen Funktion mit der URL des zu fixierten HTML -Fragments und der ID des Elements, die das Fragment anzeigen sollte. Es stützt sich auf den Code von Jibbering.com, um die XMLHTTP -Variable festzulegen.

Es ist absolut schnell und bescheiden, aber es ist auch eine großartige schnelle Demo der XMLHTTPrequest -Erweiterung.

xmlhttprequest und Innerhtml FAQ (FAQ)

Was ist der Unterschied zwischen Innerhtml und Outerhtml?

Innerhtml und oterHtml sind beide Attribute von Elementen im DOM -DOCUM -Objektmodell (DOM). Der Hauptunterschied zwischen ihnen ist das, was sie zurückgeben und ändern. InnerHTML erhält oder legt den HTML -Inhalt (interner HTML) eines Elements ab, während OuterHTML den HTML -Inhalt abruft oder festlegt, einschließlich der externen Wrapper des Elements. Mit anderen Worten, Innerhtml behandelt den Inhalt in einem Element, während Outerhtml das gesamte Element, einschließlich der Tags, umgeht.

Ist es sicher, Innerhtml zu verwenden?

Während InnerHTML eine bequeme Möglichkeit ist, HTML in eine Webseite zu injizieren, kann es bei unsachgemäßer Verwendung Sicherheitsrisiken darstellen. Wenn Sie benutzergenerierte Inhalte in eine Seite einfügen und InnerHTML verwenden, können Sie Cross-Site-Skriptangriffe (XSS) antreten, bei denen böswillige Skripte in Ihre Webseite eingeleitet werden. Um dies zu vermeiden, reinigen Sie immer benutzergenerierte Inhalte oder verwenden Sie eine sicherere Methode wie TextContent oder CreateLement.

Wie füge ich mehrere Elemente mit Innerhtml hinzu?

Sie können mehrere Elemente mit Innerhtml hinzufügen, indem Sie HTML -Zeichenfolgen für jedes Element verkettet. Wenn Sie beispielsweise zwei Absätze hinzufügen möchten, können Sie Folgendes ausführen: element.innerhtml = '<code>element.innerHTML = '<p>第一段。</p>' '<p>第二段。</p>'; Erster Absatz.

''

Zweiter Absatz.

'; Dies fügt dem Element zwei Absätze hinzu.

Kann ich ein SVG -Element mit Innerhtml einfügen? Ja, Sie können SVG -Elemente mit Innerhtml einfügen. Es gibt jedoch einige Dinge zu beachten. Der SVG -Namespace ist bei der Verwendung von InnerHTML nicht erhalten, was in einigen Browsern Probleme verursachen kann. Wenn Sie Probleme haben, sollten Sie stattdessen die Methoden "CreateLementns" und "AppendChild" verwenden.

Warum funktioniert meine innere Haltung nicht?

Ihre Innerhtml funktioniert möglicherweise nicht aus mehreren Gründen. Ein häufiger Grund ist, dass das Element, das Sie ändern möchten, nicht existiert, wenn das Skript ausgeführt wird. Dies kann passieren, wenn Ihr Skript vor dem Körper der Seite geladen wird. Um dieses Problem zu beheben, können Sie das Skript auf den Boden der Körperbezeichnung verschieben oder den Code in die Funktion "Fenster" einwickeln.

Kann ich Innerhtml in meinem XML -Dokument verwenden?

Nein, Innerhtml unterstützt keine XML -Dokumente. Es handelt sich um eine Eigenschaft der HTMLelement -Schnittstelle in HTML DOM und ist in XML DOM nicht verfügbar. Wenn Sie XML verwenden, müssen Sie stattdessen Methoden wie CreateLement und AppendChild verwenden.

Wie lösche ich alle untergeordneten Elemente eines Knotens?

Sie können alle untergeordneten Elemente eines Knotens löschen, indem Sie die Innerhtml -Eigenschaft auf eine leere Zeichenfolge einstellen. Zum Beispiel: element.innerHTML = ''; Dadurch werden alle untergeordneten Elemente des Elements gelöscht.

Kann ich Text mit Innerhtml in Textknoten einfügen?

Nein, Innerhtml kann nur mit Elementknoten verwendet werden. Wenn Sie Text in einen Textknoten einfügen möchten, sollten Sie stattdessen die Eigenschaft NodeValue oder TextContent verwenden.

Wie kann ich Elemente durch Innerhtml ersetzen?

Sie können Elemente durch Innerhtml ersetzen, indem Sie die Innerhtml -Eigenschaft des übergeordneten Elements festlegen. Dies ersetzt alle untergeordneten Elemente des übergeordneten Elements, einschließlich der, die Sie finden möchten. Zum Beispiel: parentElement.innerhtml = '<code>parentElement.innerHTML = '<p>新段落。</p>'; Neuer Absatz.

'; Dies ersetzt alle untergeordneten Elemente der Parantel durch den neuen Absatz.

Kann ich Innerhtml im Internet Explorer verwenden?

Ja, Innerhtml wird in allen großen Browsern, einschließlich des Internet Explorer, unterstützt. Browser verarbeiten jedoch bestimmte Aspekte von Innerhtml unterschiedlich. Daher ist es am besten, Ihren Code in mehreren Browsern zu testen.

Das obige ist der detaillierte Inhalt vonSchneller Tipp: xmlhttprequest und innerhtml. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage