Original von Skorpjon
Hat jemand Erfahrungen mit der Fehleranfälligkeit von solchen Frameworks? Grundsätzlich arbeite ich lieber mit selbstgeschriebenen Code, aber Javascript wollte sich mir bisher aus einem unerfindlichen Grund nicht erschließen. Alleine wenn ich sehe, dass FF und IE zu unterschiedlichen Ergebnissen kommen, könnte ich schon 20mal die Gesichtsfarbe wechseln.
Dafür gibt es doch protorype.. das kapselt alles. Damit funzt derselbe code auch im ff, ie, opera, safari und konqueror ..
und javascript mit prototype ist gaanz einfach. Hat auch nicht mehr viel mit den "früheren" Techniken zu tun.
Ich finde es programmiert sich ähnlich elegant wie Ruby.. z.b. ein $$('.hinweis').invoke('hide'); blendet alle elemente mit der css-eigenschaft hinweis aus. kann man z.b. über each und eine anonyme funktion noch mit scriptaculous koppeln und so alles faden lassen ..
ich weiss nicht, wie genau du ajax einsetzen willst. ich geb hier mal nen kurzes beispiel:
showInfo(
'Informationen über '+plani.pname+' ('+plani.user+')',
'
Aktuelle Position: ('+Math.round(plani.x)+'|'+Math.round(plani.y)+')
Atmosphäre: '+atmo+'
Diplomatische Optionen: '+diplo,
ICON_INFO);
new Ajax.Request('ajax/naviPlanetOffers.php?pid='+plani.pid, {
method: 'get',
onSuccess: function (response) {
var trade = response.responseText.evalJSON();
var appendb = '';
var appends = '';
p = $('infop');
tradeableRess.each( function(ress,i) {
if (trade.planet.buy
> 0) { appendb += '
[0]+'.png" alt="'+tradeableRess[1]+'" />: '+trade.planet.buy+' zu '+(Math.round(trade.course*100)/100)+'';
}
//'+tradeableRess
[1]+' if (trade.planet.sell
> 0) { appends += '
[0]+'.png" alt="'+tradeableRess[1]+'" />: '+trade.planet.sell+' zu '+(Math.round(trade.course*100)/100)+'';
}
});
if (appendb != '')
p.innerHTML += '
Kauft:'+appendb;
if (appends != '')
p.innerHTML += '
Verkauft:'+appends;
}
});
das ist einfach ein funktionsaufruf (show_info) mit nen paar daten (erzeugt ein zentriertes div mist buttons und stuff.. der text steht in dem p-tag mit der id "infop").
danach starte ich sofort einen ajax-call, der ermittelt wie es um den handel mit diesem planeten bestellt ist. die antwort ist ein json-string, der sofort interpretiert und dann einmal durchgegangen wird. das ergebnis wird dann "live" in der zuvor angezeigte box angehängt.
soviel zum thema js und "schwer" .. mit prototype wird es ganz einfach.. zur not schaut man in die
doku.
zum thema gnu gpl: die gpl sag ja eigentlich "wenn du teile meines codes verwendest ist dein code 'verbrannt' und du musst ihn auch inter die gpl stellen" (meine interpretation .. kann natürlich abweichen )