Zitat von
omata:
Was ich an diesem AJAX einfach nicht so dolle finde ist, dass es ohne Javascript nicht funktioniert. Ok ich sehe ja ein das der Komfort nur mit möglich ist. Aber das die Seiten ohne Javascript völlig unbrauchbar werden finde ich einfach nur schlecht. Oder gibt es da einen Ansatz? Ich lade zur Zeit auch immer die Seiten nach. Das hat den Vorteil, dass wenn kein Javascript aktiviert ist eben NOSCRIPT-Tag-Inhalte für die weitere Funktion garantieren, die man mit Javascript gar nicht zu Gesicht bekommt.
Deshalb setzt ich solche AJAX-Geschichten zur Zeit nicht ein, weil meine Lösung einfach flexibler auf den Besucher der Seite eingeht.
Wie gesagt, es müsste eine flexible Lösung geben, die einem bei solchen Bestrebungen unterstützt. Trotzdem sollten die Seiten auch ohne Javascript voll funktionsfähig bleiben.
Da kannst du dir eine Eigenschaft von Browsern zugute kommen lassen. Nehmen wir an, dass du folgenden Link hast:
Code:
[
url="somepage.php"]Foobar[/
url]
Nun willst du eine AJAX-Funktion einbauen:
Code:
[
url="javascript
:doAJAXRequest()"]Foobar[/
url]
Oopsie, jetzt gibts ein Problem. Wenn JS deaktiviert ist, krachts natuerlich. Was machen?
doAJAXRequest() muss einen Rueckgabe wert haben; true wenn der Request gesendet werden konnte, false wenn nicht. Das kommt dann so ins onclick rein:
Code:
[
url="somepage.php"]Foobar[/
url]
Was ist die Eigenschaft der Browser? Wenn im onclick false zurueckgegeben wird, folgt der Browser dem Link nicht, das macht er nur wenn true (oder eben nichts) zurueckgegeben wird. Im Erfolgsfall gibt doAJAXRequest() also true zurueck, wir negieren dies und geben es zurueck. Ergebnis: der Browser folgt dem Link nicht.
Getestet in allen moeglichen IE-, Fx-, Opera-, Safari-, Konqueror-Versionen dieser Welt.
Greetz
alcaeus