2013-09-21 3 views
8

Ich versuche, eine Website zu erstellen, und ich versuche, herauszufinden, wie man eine Seite zu laden.Wie eine andere HTML-Datei mit JS laden

Zum Beispiel:

Sie klicken auf dem Navigator „Home“ und dann eine der Unterseite des Bildschirms Es eine Seite Hexe Text zum Beispiel sagt, lädt „Hallo Wort!“.

Weiß jemand, was zu tun ist? Ich bin mir ziemlich sicher, dass es sich um JavaScript handelt.

+0

http://www.w3.org/wiki/HTML_links_-_lets_build_a_web#What_are_links.3F – Quentin

+0

Nicht sehr hilfreich für mein Verständnis, sorry. – Shaun

+0

Sprechen Sie über Single-Page-Anwendungen? Sie bleiben immer auf der gleichen Seite, aber der Inhalt wird neu geladen. –

Antwort

15

Um Inhalte dynamisch zu laden, können Sie einen AJAX-Anruf mit XMLHttpRequest() erstellen.

In diesem Beispiel wird eine URL an die loadPage()-Funktion übergeben, in der der geladene Inhalt zurückgegeben wird.

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
     <script type="text/javascript"> 
      function loadPage(href) 
      { 
       var xmlhttp = new XMLHttpRequest(); 
       xmlhttp.open("GET", href, false); 
       xmlhttp.send(); 
       return xmlhttp.responseText; 
      } 
     </script> 
    </head> 

    <body> 
     <div onClick="document.getElementById('bottom').innerHTML = 
         loadPage('hello-world.html');">Home</div> 

     <div id="bottom"></div> 
    </body> 

</html> 

Wenn das div-Element Text von „Home“ enthält geklickt wird, setzt es die HTML div-Element mit der ID von „unten“ zum Inhalt in dem „Hallo-world.html“ Dokument an denselben relativen gefunden Lage.

hallo-world.html

<p>hello, world</p> 
+0

Danke, aber eine Frage im Hinterkopf. Was ist mit mehr als 1 Seiten? Was würde passieren? – Shaun

+0

Durch wiederholtes Aufrufen dieser Implementierung können mehrere Dokumente geladen, Inhalte ersetzt oder angefügt werden. –

+0

Danke, Alter! Du bist unglaublich. Vielen Dank für deine Hilfe. – Shaun

Verwandte Themen