Ich möchte, dass home.html geladen wird <div id="content">
.
<div id="topBar"> <a href ="#" onclick="load_home()"> HOME </a> </div>
<div id ="content"> </div>
<script>
function load_home(){
document.getElementById("content").innerHTML='<object type="type/html" data="home.html" ></object>';
}
</script>
Dies funktioniert gut, wenn ich Firefox verwende. Wenn ich Google Chrome verwende, wird nach einem Plug-In gefragt. Wie kann ich es in Google Chrome zum Laufen bringen?
javascript
html
google-chrome
Giliweed
quelle
quelle
load_home(); return false
Antworten:
Ich habe endlich die Antwort auf mein Problem gefunden. Die Lösung ist
quelle
type="type/html"
wird geändert intype="text/html"
Sie können die jQuery-Ladefunktion verwenden:
Es tut uns leid. Bearbeitet für den Klick statt beim Laden.
quelle
API abrufen
XHR API
Basierend auf Ihren Einschränkungen sollten Sie Ajax verwenden und sicherstellen, dass Ihr Javascript vor dem Markup geladen wird, das die
load_home()
Funktion aufruftReferenz - Davidwalsh
MDN - Verwenden von Fetch
JSFIDDLE-Demo
quelle
Content-Type
Headers zu einerGET
Anfrage macht keinen Sinn - ich denke, Sie meintensetRequestHeader("Accept", "text/html")
?HTML auf moderne Javascript-Art abrufen
Dieser Ansatz nutzt moderne Javascript-Funktionen wie
async/await
und diefetch
API. Es lädt HTML als Text herunter und führt es dann in dasinnerHTML
Containerelement ein.Das
await (await fetch(url)).text()
mag etwas knifflig erscheinen, ist aber leicht zu erklären. Es hat zwei asynchrone Schritte und Sie können diese Funktion folgendermaßen umschreiben:Weitere Informationen finden Sie in der Dokumentation zur Abruf-API .
quelle
Ich habe das gesehen und fand es ganz gut, also habe ich einige Tests durchgeführt.
Es mag wie ein sauberer Ansatz erscheinen, aber in Bezug auf die Leistung liegt er um 50% zurück, verglichen mit der Zeit, die zum Laden einer Seite mit der jQuery-Ladefunktion oder zur Verwendung des Vanille-Javascript-Ansatzes von XMLHttpRequest benötigt wurde, die sich in etwa ähnelten.
Ich kann mir vorstellen, dass dies daran liegt, dass die Seite unter der Haube genau auf die gleiche Weise abgerufen wird, aber auch ein ganz neues HTMLElement-Objekt erstellt werden muss.
Zusammenfassend schlage ich vor, jQuery zu verwenden. Die Syntax ist so einfach wie möglich zu bedienen und hat einen gut strukturierten Rückruf, den Sie verwenden können. Es ist auch relativ schnell. Der Vanille-Ansatz kann einige Millisekunden schneller sein, aber die Syntax ist verwirrend. Ich würde dies nur in einer Umgebung verwenden, in der ich keinen Zugriff auf jQuery hatte.
Hier ist der Code, den ich zum Testen verwendet habe - er ist ziemlich rudimentär, aber die Zeiten sind über mehrere Versuche hinweg sehr konsistent zurückgekommen, sodass ich jeweils eine Genauigkeit von etwa + - 5 ms angeben würde. Tests wurden in Chrome von meinem eigenen Heimserver ausgeführt:
quelle
Beim Benutzen
Denken Sie dann daran, dass Sie in Chrome nicht lokal "debuggen" können, da XMLHttpRequest nicht geladen werden kann. Dies bedeutet NICHT, dass es nicht funktioniert, sondern nur, dass Sie Ihren Code auf derselben Domain aka testen müssen. Ihr Server
quelle
Sie können die jQuery verwenden:
quelle
Versuchen
Code-Snippet anzeigen
quelle
oder
quelle
Es gibt dieses Plugin auf Github, das Inhalte in ein Element lädt. Hier ist das Repo
https://github.com/abdi0987/ViaJS
quelle
Dies wird normalerweise benötigt, wenn Sie header.php oder eine andere Seite einfügen möchten.
In Java ist es einfach, besonders wenn Sie eine HTML-Seite haben und die PHP-Include-Funktion nicht verwenden möchten, aber Sie sollten überhaupt die PHP-Funktion schreiben und sie als Java-Funktion in das Skript-Tag einfügen.
In diesem Fall sollten Sie es ohne Funktion schreiben, gefolgt vom Namen Just. Skript rage das Funktionswort und starte die Include-Datei header.php Dh konvertiere die PHP-Include-Funktion in die Java-Funktion im Skript-Tag und platziere deinen gesamten Inhalt in der enthaltenen Datei.
quelle
Verwenden Sie diesen einfachen Code
quelle
w3-include-HTML
ist Teil der Skriptbibliothek von W3Schools.comW3.JS
(hier verfügbar: w3schools.com/w3js/default.asp ). Ich möchte darauf hinweisen, dass W3Schools (und w3.js undw3.includeHTML()
) in keiner Weise mit dem W3-Konsortium verbunden sind (eine der beiden Hauptgruppen, die die HTML + CSS + DOM-Standards definieren (die andere Gruppe ist WHATWG).showhide.html
showhide_embedded.html
quelle
Wenn sich Ihre HTML-Datei lokal befindet, wählen Sie iframe anstelle des Tags. Tags funktionieren nicht browserübergreifend und werden hauptsächlich für Flash verwendet
Zum Beispiel:
<iframe src="home.html" width="100" height="100"/>
quelle