Immer mehr Webanwendungen verwenden Ajax-Toolkits um bestimmte Funktionalitäten auf den Seits zur Verfügung zu stellen.
Abgesehen von der Suchmaschienenproblematik vergessen irgendwie alle, wofür es ursprünglich da war.
Es geht darum, dem User das Interface zu vereinfachen und oft auch Vorgänge dadurch zu beschleunigen, dass kein Reload der Seite gemacht werden muss.
Um das gleich mal klar zu stellen, ich setze das selbst gerne ein und auch immer öfter.
Was ich langsam nicht verstehe, ist das die Entwickler der Toolkits Pakete schnüren, bei denen mehrere hundert KB Javascript geladen werden müssen um einfache Effekte zu erzielen, die ein paar Zeilen eigenes Javascript auch realisieren können.
Und wenn man ganz ehrlich ist, ist mit jedem dieser Toolkits ein schnelles einbauen meißt auch nicht möglich.
Also lieben Entwickler von jQuery und Devexpress und Componentart und wie Ihr alle heißt...
Bitte, bitte nehmt euch ein Beispiel an Windoews7 und fangt an wieder auf Performance zu entwickeln!
Prinzipiell ist das ja auch alles ganz prima, vergesst aber doch bitte nictht, das Komfort und Geschwindigkeit der Grund für Ajax ist.
Hier kommt mein ganz persönlicher Beitrag für einen Zugrif ohne Updatepanel... einfach über einen IFrame der mittels setTimeout animiert wird. Getestet in IE6,7,8 Firefox 2,3, Opera, Google Chrome
Zu bewundern gibts das ganze hier ;-)
1
2 <a href="#" onclick="runtest2('myIframLayer')">Run TestAnimation</a>
3
4 <div id="myIframLayer" style="position: absolute;
5 overflow: hidden;
6 width: 10;
7 height: 10px;
8 display: none">
9
10 <iframe id="myIFrame" src="http://www.schnelleseite.de"
11 width="500" height="500"
12 style="overflow: hidden"></iframe>
13 </div>
14
15 <script>
16 function runtest2(objID) {
17 var(obj = document.getElementById(objID))
18 if (obj) {
19 var s = new Date();
20 obj.style.display = 'block'
21
22 scheduleAnimation(0, 0, 500, 500,100,100, 'myIframLayer')
23 }
24 }
25 function scheduleAnimation(w1, h1, w2, h2,wStep,hStep ,objID) {
26 for (var i = w1; i < w2 + 1; i = i + wStep) {
27 setTimeout("document.getElementById('" +
28 objID + "').style.width='" + i + "px'", i/3)
29 }
30 for (var i = h1; i < h2 + 1; i = i + hStep) {
31 setTimeout("document.getElementById('" +
32 objID + "').style.height='" + i + "px'", i/3)
33 }
34 for (var i = 100; i > -1; i = i - 20) {
35 setTimeout("setOpacity('" +
36 objID + "'," + i + ")", i * 2)
37 }
38 }
39
40 function setOpacity(objID, o) {
41 var(obj = document.getElementById(objID))
42
43 obj.style.MozOpacity = (o / 100);
44 obj.style.opacity = (o / 100);
45 obj.style.KhtmlOpacity = (o / 100);
46 obj.style.filter = 'alpha(opacity=' + o + ')';
47
48 }
49
50
51 </script>