Blog für Webdevelopment, Online-Marketing und Gadgets

HTML mit JavaScript (jQuery) nachladen

Kategorie: web-development

Manchmal ist es ganz nützlich den Inhalt einer HTML Seite extern nachzuladen. Beispielsweise ist es unheimlich nützlich, wenn eine vom Shop oder CMS losgelöste Landingpage (Startseite) hinundwieder mit frischem Inhalt versorgt werden will, die Quelldaten des Templates aber im Verzeichnisbaum in der Dunkelheit des Grabens verscharrt sind, oder dieser Inhalt von propriätär gestalteten Templates ferngehalten werden soll. Ist das Templatesystem bereits auf php basierend, ist es indes sehr leicht mit Hilfe eines includes HTML Inhalt nachzuladen.

<?php include('file.html'); ?>

Besteht das Templatesystem jedoch aus reinen HTML Dateien, wird es etwas komplizierter. Hier gibt es an sich wohl nur zwei Möglichkeiten: Server Side Includes (SSI) oder JavaScript. Da SSI nicht bei jedem Hoster funktioniert, besteht also im Prinzip nur die Möglichkeit über JavaScript. Mit Javascript lässt sich bspw. der Inhalt von div Elementen sehr einfach manipulieren und somit auch durch einen nachgeladenen Code ersetzen. Dazu stehen hier stellvertretend zwei divs mit je eigener ID, deren Inhalt beim laden der Seite per JS verändert wird

   
  <div id="teaserContent">alternative content</div>   
  <div id="teaserContent2">alternative content</div> 

Der alternative content ist dabei sehr wichtig, da sonst User ohne JavaScript an dieser Setlle nur ein weißes Feld ohne jeglichen Inhalt zu sehen bekämen. Der nachfolgende JavaScript Aufruf überschreibt dann den alternative content mit dem Dateien im angebenem Pfad. Er steht absichtlich nicht in einer document.ready() Umgebung, da der Inhalt möglichst schnell und vor dem rest der Seite nachgeladen werden soll.

 
<script type="text/javascript"> 
  $(function () {  
    $('#teaserContent').load('landingpage/teaser.html');      
    $('#teaserContent2').load('landingpage/teaser2.html'); 
  });  
</script> 

Anschließend sei noch geraten, die div Elemente mit der korrekten Größe von vornherein mittels CSS zu versehen, da sonst während des Nachladens die Elemente der Seite springen!

Über den Autor Viktor Dite

Ich, Viktor Dite bin Shopadmin, Webdeveloper und ein Geek, der das Auge fürs Alltagstaugliche nicht verlieren möchte. Hier im Blog versuche ich beide Welten unter einen Hut zu bringen, so dass auch nicht “Digital Residents” die Möglichkeit bekommen, das Meiste aus der digitalen Welt herauszuholen.

Gefällt Dir der Beitrag?

Wenn Dir der Beitrag gefällt, freue ich mich über jedes Share oder ein Kommentar!

Das könnte Dich auch interessieren: