URL-Anker in Java-Script nutzen

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • URL-Anker in Java-Script nutzen

    Hallo allerseits,

    ich habe folgenden JS-Code auf meiner Seite, um einfache Tabs zu verwenden:

    Source Code

    1. $(document).ready(function() {
    2. $(".tab_content").hide();
    3. $("ul.tabs li:first").addClass("active").show();
    4. $(".tab_content:first").show();
    5. $("ul.tabs li").click(function() {
    6. $("ul.tabs li").removeClass("active");
    7. $(this).addClass("active");
    8. $(".tab_content").hide();
    9. var activeTab = $(this).find("a").attr("href");
    10. $(activeTab).show();
    11. return false;
    12. });
    13. });
    Display All

    Nun möchte ich gerne die Möglichkeit einbauen, auf meine Seite mit einem Anker zuzugreifen, der einen spezifischen Tab direkt auswählt. Wie ist sowas in Java-Script möglich? Vielen Dank für eure Hilfe :)

    P.S.: url.de/index.php#tab2 soll direkt den Tab mit der id tab2 aktivieren, wenn die Seite geladen wird.
  • typischer Fall von... man könnte eine einfache Lösung haben, wenn es nur einen Browser gäbe.

    Hier hast du ein bisschen Lesestoff für die Theorie: ajaxpatterns.org/Unique_URLs
    Nach den Kriterien gibts bereits folgende Lösung für jquery: mikage.to/jquery/jquery_history.html

    Zusammenfassung:
    Wenn man schon Anker Links unterstützt, dann wäre es doch Verschwendung alles doppelt zu implementieren indem der Anker und der AJAX Link mit einem Klick aufgerufen werden.
    Als ruft man nur die Anker Links auf und pollt für Änderungen.

    Problem: Onload Event...
    Du nutzt jquery, damit hast du schonmal kein Problem, dass bei history back Aufrufen und direkten Aufrufen alle Browser die onload Methode mal anders aufrufen.

    Problem: History...
    Das Navigieren mit der vorwärts/zurück buttons sollte im Firefox sofort funktionieren.
    Der IE verschluckt die Anker jedoch einfach in der History. Hier muss man ein verstecktes Iframe Objekt nutzen.
    Der Safari ändert Ankerlinks erst nach x Millisekunden, weswegen das Polling versetzt aufgerufen werden muss.