Die twoBirds Lib 2.0 ist eine Bibliothek, welche es ermöglicht, einzelne Elementbestandteile völlig unabhängig voneinander zu laden und simultan zu instantieren. Unter http://system.dlv.phpb002.de kann man sich einen Prototypen ansehen.
Im “User” Feld oben rechts irgendeine Buchstabenkombination + [return] eingeben zum einloggen… im Menu “communication” anklicken und dann “chat” auswählen… viel Spaß beim chatten
. Wenn sie dieses System mit firebug etc. genauer untersuchen, kann ihnen auffallen, daß alle Elementbestandteile völlig unabhängig voneinander geladen werden und auch simultan instantiiert werden. Geladen wird genau dann, wenn Sie auf einen Link klicken.
Elemente werden dann angezeigt, wenn alle Ihre Bestandteile da sind. Anmerkung: IE Benutzer müssen diese Seite zu den “Vertrauenswürdigen Sites” hinzufügen, wenn sie chatten wollen. Das geht nicht ohne einen Login und der benutzt ein Cookie zu Namensspeicherung. Wie gesagt, der Login Name ist egal.
Nachdem ein Element einmal angezeigt war, wird zu einer erneuten Anzeige gar nichts mehr nachgeladen, alle Bestandteile waren schon im Cache vorhanden und mußten nur noch erneut angezeigt werden. Der Chat selbst lädt dann natürlich periodisch Zeilen nach falls neuere da sind…
Beispiel-Code:
application.index_body = {
init: function (pDivId) {
tb.element.require( "[ [ 'css', 'application', 'index_body' ], " +
" [ 'tpl', 'application', 'index_body' ], " +
" [ 'js', 'tb', 'effect.fadeTo' ] ]",
'application.index_body.display( "' + pDivId + '" )' ,
true
);
},
display: function (pDivId) {
var myHtml = tb.loader.tplget(‘application’,'index_body’);
tb.div.replace( pDivId, myHtml );
tb.element.require( “[ [ 'js', 'application', 'menu' ], ” +
” [ 'css', 'application', 'menu' ], ” +
” [ 'tpl', 'application', 'menu' ], ” +
” [ 'js', 'application', 'user_greeting' ], ” +
” [ 'css', 'application', 'user_greeting' ], ” +
” [ 'tpl', 'application', 'user_greeting' ], ” +
” [ 'js', 'application', 'submenu' ], ” +
” [ 'css', 'application', 'submenu' ], ” +
” [ 'tpl', 'application', 'submenu' ], ” +
” [ 'js', 'application', 'window' ], ” +
” [ 'css', 'application', 'window' ], ” +
” [ 'tpl', 'application', 'window' ] ]”
);
tb.element.show( ‘toprightcontainer’ , ‘application’, ‘user_login’ );
tb.element.show( ‘innercontentcontainer’ , ‘application’, ‘help’ );
}
};