Rene: Seitenaufbau mit AJAX

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

  1. 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

    1. @@suit:

      nuqneH

      http://blog.rebeccamurphey.com/2007/12/04/anchor-based-url-navigation-with-jquery

      S.a. http://ajaxpatterns.org/Unique_URLs

      Qapla'

      --
      Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
      (Mark Twain)
  2. 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

    --
    X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. 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

      1. 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?

      2. 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

        --
        X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
      3. 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

        --
        ><o(((°>           ><o(((°>
           <°)))o><                     ><o(((°>o
        Der Valigator leibt diese Fische
  3. 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

    --
    ><o(((°>           ><o(((°>
       <°)))o><                     ><o(((°>o
    Der Valigator leibt diese Fische
  4. 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

    --
    Man soll den Tag nicht vor dem Abend loben.
    Und den Mann nicht vor dem Morgen.
      (alte Volksweisheit)
    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(