Edgar Ehritt: tinyJS-Toolkit beta

Beitrag lesen

Hallo LX,

prinzipielles:

Ich verstehe nicht, warum man heutzutage für alles ein framework benötigt. Programmierung sollte sich am tatsächlichen Gebrauch orientieren. Da kann es zwar hilfreich sein, einige bewährte Funktionen/Objekte zu haben, die man immer wiederverwendet, jedoch in alle Dokumente immer eine Ganze Werkstatt einzurichten, um ein oder zwei Schraubenschlüssel davon zu gebrauchen, ist die Eierlegende Wollmilchsau.

Zu Deinem Script:

if (!document.readyState) {...}  
// Event trigger  
ready=window.setInterval(function() {...}, 45);

Da Du eh nur eine Fallunterscheidung zwischen "loading" und "complete" machst, also gar nicht die volle Bandbreite von MS nutzt, frage ich mich, welchen Nutzen Du hier in der Eigenschaft readyState tatsächlich vermutest, denn man nicht ohne simulierten Eventhandler (böse™) durch nutzen von window.onload hätte - zumal diese Eigenschaft Dein fallback ist?

t.j=function(u, c, t) {  
    // ...  
    s.src=u+(c?'?c='+c:'');

Es ist mir nicht ganz klar, warum man nicht einen URL als solchen URL belässt. Mittels t.p() lässt sich daraus ganz wunderbar einen query string basteln. Hinzu kommt, dass Du hier mit "c=" ganz selbstverständlich einen Parameter vorgibst. Der Programmieren wird hierbei in zweierlei Hinsicht eingeschränkt. Einmal /muss/ er so GET["c"] im Serverscript berücksichtigen, zum anderen muss er, wenn er neben "c" noch weitere Parameter übergeben will, im Javascript darauf achten, dass er dem Funktionsargument "c" kein gewohnheitsbedingtes Fragezeichen voranstellt.

};

t.a=function(o) {  
    // ...  
    if (!async) { return x['response'+o.type||'Text']; }

Hier muss m. M. n. o.async abgefragt werden. async ist nicht definiert.

    // set events  
    t.i(ev, function(_, e) { if (o.hasOwnProperty(e)) { x[e]=o[e]; } });

Mir ist nicht wirklich klar geworden, was genau das bezweckt. Weder das Interface eines XMLHttpRequestObjekts noch Mozillas und Microsofts Implementierungen kennen die erstmal willkürlich erscheinenden Eigneschaften onloadstart, onprogress, onabort, onerror, onload und onloadend. Wenn es nur darum geht, weitere Methoden/eigenschaften zum Requestobjekt hinzuzufügen, verstehe ich nicht, warum man dafür nicht seine Eigenen Namen verwenden kann.

};  
})();

Gruß aus Berlin!
eddi