Seitenaufbau mit AJAX
Rene
- programmiertechnik
0 suit3 Cheatah0 Beat0 Der Martin
Hi,
habe schon mehrere Seiten gemacht und diese mit Hilfe von AJAX (jquery) aufgebaut/gestaltet. Funktioniert alles super.
Meine Frage:
Wenn ich zum Beispiel ein Menü habe und die anderen Seiten mithilfe von AJAX lade besteht nicht die Möglichkeit die Adresszeile zu kopieren um gleich auf die Seite zu kommen.
zb steht dann noch immer http://www.12.de statt http://www.12.de/test.php
Oder ich habe ein Fotoalbum erstellt welches alles mit Hilfe von AJAX nachladet. Aber in der Adresszeile bleibt immer die Startseite. Ist auch klar weil die Seite nicht komplett geladen wird.
Gibt es eine Möglichkeit auch die Adresszeile zu verändern und trotzdem mit Hilfe von AJAX die Seite zu laden?
danke
mfg Rene
Gibt es eine Möglichkeit auch die Adresszeile zu verändern und trotzdem mit Hilfe von AJAX die Seite zu laden?
http://blog.rebeccamurphey.com/2007/12/04/anchor-based-url-navigation-with-jquery
@@suit:
nuqneH
http://blog.rebeccamurphey.com/2007/12/04/anchor-based-url-navigation-with-jquery
S.a. http://ajaxpatterns.org/Unique_URLs
Qapla'
Hi,
habe schon mehrere Seiten gemacht und diese mit Hilfe von AJAX (jquery) aufgebaut/gestaltet. Funktioniert alles super.
auch mit deaktiviertem JavaScript?
Gibt es eine Möglichkeit auch die Adresszeile zu verändern und trotzdem mit Hilfe von AJAX die Seite zu laden?
Was Du tust, ist ein absolut typisches Einsatzgebiet für den *Verzicht* auf AJAX. Du hast ein Negativbeispiel produziert. Seiten werden *nicht* durch AJAX nachgeladen. Jeder Vorteil, den Du daraus beziehst, ist nur ein scheinbarer. Anders ausgedrückt hast Du die Nachteile von Frames mit den Nachteilen von AJAX verknüpft.
Eliminiere also zunächst die AJAX-Funktionalität.
Cheatah
Doch die Seite funktioniert auch mit deaktiviertem JavaScript.
Die Links sind so aufgebaut:
<a href="seite2.php" onclick="aload('s2');return false">Gemeinden</a>
Falls Javascript deaktiviert ist wird href aufgerufen. Wenn nicht wird die JS-Funktion aload aufgerufen und return false verhinder das ausführen von href
mfg
Falls Javascript deaktiviert ist wird href aufgerufen. Wenn nicht wird die JS-Funktion aload aufgerufen und return false verhinder das ausführen von href
Wird in beiden Fällen exakt dieselbe Ressource aufgerufen oder wie muss man sich das vorstellen?
Hi,
Doch die Seite funktioniert auch mit deaktiviertem JavaScript.
na dann, lass einfach den AJAX-Quatsch weg. Er ist nutzloser Unsinn, der Dir im Weg steht.
Cheatah
Doch die Seite funktioniert auch mit deaktiviertem JavaScript.
Die Links sind so aufgebaut:
<a href="seite2.php" onclick="aload('s2');return false">Gemeinden</a>
Falls Javascript deaktiviert ist wird href aufgerufen. Wenn nicht wird die JS-Funktion aload aufgerufen und return false verhinder das ausführen von href
Mal abgesehen davon:
deine Funktionsaufruf sollte lauten aload(this.href)
und der Eventhandler sollte nicht im HTML stehen, sondern dynamisch erzeugt werden.
Es sei denn, du willst dein potentiellen Baustellen für die Zukunft maximieren.
Stell dir mal vor, du willst eine Seite nicht nur in der Navigation verlinken, sondern als normalen Link im Kontext verlinken.
Dass deine Seiten mit deaktiviertem JS funktionieren ist schön. Wenn sie aber mit JS schlecht laufen, werden deine Seiten zu einem NoScript Kandidaten.
mfg Beat
habe schon mehrere Seiten gemacht und diese mit Hilfe von AJAX (jquery) aufgebaut/gestaltet. Funktioniert alles super.
Da widersprichst du dir aber im folgenden:
Meine Frage:
Wenn ich zum Beispiel ein Menü habe und die anderen Seiten mithilfe von AJAX lade besteht nicht die Möglichkeit die Adresszeile zu kopieren um gleich auf die Seite zu kommen.
Du solltest nach jeder relevanten Änderung des DOMs, die auch ein Navigationspunkt (history) darstellt, mittels window.location.hash einen Navigationspunkt erstellen.
Typischerweise navigiert der Browser auch zu einer ID, wenn eine solche im DOM definiert ist.
Ob nun die Navigation sichtbar stattfinden soll oder nicht, hängt von der Rolle des eingehängten Inhalts ab. Typisches Problem: Userinteraktion an Ort A führt zu Änderung an Ort B, was ausserhalb des Wahrnehmungsfeldes des User ist. Aktives Fokussieren des geänderten Inhalts hilft.
Andere Probleme mit Ajax. Wenn falsch implementiert, lässt sich eine Ressource erst dann bookmarken, wenn sie auch navigiert wurde. Es gibt aber keinen Bookmark-Link. Es gibt auch keinen URI-Check vor dem Navigieren.
Es ist daher fraglich, ob AJAX geeignet ist, Hauptinhalte zu navigieren.
mfg Beat
Hallo,
zb steht dann noch immer http://www.12.de statt http://www.12.de/test.php
du arbeitest also für ein Unternehmen in der Nähe des Stuttgarter Flughafens?
Wenn ja: Gut, dann will ich nichts gesagt haben.
Wenn nein: Verwende für Beispiele bitte nicht leichtfertig irgendwelche Phantasiedomains; die Wahrscheinlichkeit ist groß, dass sie tatsächlich vergeben sind. Wie erfreut der tatsächliche Inhaber ist, wenn du seine Domain "missbrauchst", weißt du nicht.
Verwende für abstrakte Beispiele bitte die extra dafür vorgesehenen Domainnamen.
Ciao,
Martin