JavaScript Runtimeloader – dynamic (runtime) loading of JavaScript-Files (Ext JS compatible)

Geschrieben von Benjamin Carl am Donnerstag, den 18. Februar 2010

It’s finally done! Soeben habe ich den JavaScript + CSS – Runtimeloader in Version 0.1 alpha fertiggestellt. Er bietet die Möglichkeit JavaScript- und CSS-Dateien zur Laufzeit nachzuladen und einer gewünschten DOM-Node hinzufügen. Dies ermöglicht beim Einsatz von JavaScript-Frameworks wie z.B. Ext JS eine sehr viel klarere (Ordner- und Datei-) Struktur sowie die Möglichkeit den (ebenfalls von mir geschriebenen) Progress-Indicator anzudocken – welcher dann für eine schöne Ladeanzeige verantworlich ist. So sieht der Anwender ganz genau was genau vor sich geht, wenn mal eben 1 – 1,2 MB Framework-Dateien und Stylesheets geladen werden bis sich ein Bild aufbaut.

Des weiteren verfügt der Runtimeloader über eine ganz bequeme Möglichkeit Dateien in einer Queue angeordnet zu laden und diese wirklich nacheinander zu laden ohne sich dabei auf eingebaute Browserfunktionalität, die ja von Browser zu Browser differiert, verlassen zu müssen.

Der Runtimeloader ist voll Cross-Browser-Kompatibel und wurde getestet unter Windows XP mit SP2 + SP3 und den folgenden Browsern: Internet-Explorer 6/7, Firefox 3.0.15, 3.5.7, Opera 10.10, Safari 4.0.4

Wer interesse an den Quellen hat, der möge bitte einfach kurz einen Kommentar verfassen und mir dann eine Email schreiben an die Emailadresse die im Impressum vermerkt ist. Dies ist ein kleines Experiment – je nach Nachfrage wird das Projekt ggf. noch ein wenig ausgeweitet.

Denjenigen der Kontakt mit mir aufnimmt, erwartet folgendes:

  1. Die Runtimeloader-class (Runtimeloader.class.js – Singleton JS-Class- komplett kommentiert + debug/dev-Kommentare)
  2. Die Progress-class (Progress.class.js – Singleton JS-Class – komplett kommentiert + debug/dev-Kommentare)
  3. Ein Beispiel, wie das ganze einzusetzen ist – inkl. dem Ext JS onReady-replacement Beispiel

Alles komplett als ZIP-Archiv zum testen …

Als Leckerbissen nioch ein kurzer Auszug zur API:

Im Head oder Body Bereich der Seite einfügen:

1
2
<!-- runtime loader -->
<script type="text/javascript" src="/www/view/static/js/de/upside/class/Runtimeloader.class.js"></script>

Instanziieren:

1
var runtimeLoader = Runtimeloader.getInstance();

Ein Datei-Objekt zum Laden erstellen:

1
2
3
4
5
6
7
8
9
10
11
12
13
var file = new Object();
file.src = '/www/view/static/js/com/extjs/ext-all.js';
file.wait = true;
file.onbeforeload = function(){
    // e.g. show progress ...
};
file.onprogress = function(){
    // e.g. show progress indicator / gif ...
};          
file.onload = function(){
    // e.g. show msg file loaded ...
};          
file.target = 'body';

Add the file to loading queue:

1
runtimeLoader.queueAdd(file);

Start loading:

1
2
3
runtimeLoader.execute(function(){
    // e.g. remove progress html+css ...
});

Neugierig geworden?

Euer Benjamin Carl

Kommentare (3)

Kategorie: HTML + CSS, HowTo's, JavaScript, Open-Source-Software, Tipps + Tricks

Poster mit den wichtigsten Befehlen zu PHP, CSS, JavaScript, mod_rewrite, Subversion (Cheat-Sheets)

Geschrieben von Benjamin Carl am Mittwoch, den 3. Februar 2010

Unter www.addedbytes.com/cheat-sheets/ findet man die Cheat-Sheets genannten Schnellreferenzen zu sehr vielen Programmiersprachen und auch mod_rewrite. Ich habe mir einen kleinen Überblick verschafft und muß sagen, die Schnellreferenzen sind echt gelungen. Meine Wände sind nun neu dekoriert! Für jeden der Informationen nicht nur digital oder in Form von Büchern bereithalten möchte sicherlich sehr interessant.

Aktuell gibt es die Cheat-Sheets zu folgenden Themen:

Python
Subversion
Regular Expressions (V2)
mod_rewrite (V2)
PHP (V2)
CSS (V2)
SQL Server
HTML
Microformats
World of Warcraft
Ruby on Rails
ASP / VBScript
HTML Character Entities
JavaScript
MySQL
RGB Hex Colour Chart

Hier geht es zu den Cheat-Sheets

Einen Kommentar schreiben

Kategorie: HowTo's, Tipps + Tricks

benjamin carl

Software-Architekt mit Fokus auf          liest gerade


  • prof.Softwareentwicklung mit PHP
  • test-driven development (TDD)
  • Qualitätssicherung
  • Automatisierung + Standardisierung
    von Entwicklungsprozessen
Get Adobe Flash playerPlugin by wpburn.com wordpress themes