blumentopf: anker mit javasript anweisung verknüpfen

Hallo,
gibt es eine Möglichkeit, das Aufrufen eines Ankers z.B. über das Adressfeld des Browsers direkt mit dem Ausführen einer javasript Funktion zu verbinden, so wie es das beim Aufrufen einer Seite mit OnLoad möglich ist?
Dann könnte man vielleicht eine Seite, die über das Ein- und Ausblenden von Inhalten organisiert ist(mit display:block/none)so einrichten, dass man sie dennoch mit dem Vor und Zurückbutton bedienen kann.
Besten Dank und Grüße

  1. Hi,

    gibt es eine Möglichkeit, das Aufrufen eines Ankers z.B. über das Adressfeld des Browsers direkt mit dem Ausführen einer javasript Funktion zu verbinden, so wie es das beim Aufrufen einer Seite mit OnLoad möglich ist?

    Wenn der Browser bereits onhashchange unterstützt, dann sehr einfach.
    Ansonsten müsste man das mit einem Intervall und Kontrolle des jeweils aktuellen Inhalts von location.hash selber implementieren.

    Dann könnte man vielleicht eine Seite, die über das Ein- und Ausblenden von Inhalten organisiert ist(mit display:block/none)so einrichten, dass man sie dennoch mit dem Vor und Zurückbutton bedienen kann.

    Das ist für stark auf AJAX basierende Seiten doch schon lange state-of-the-art.

    MfG ChrisB

    --
    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
  2. Moinsen!

    http://de.selfhtml.org/javascript/objekte/document.htm#url@title=Javascript

    --
    Vergesst Chuck Norris.
    Sponge Bob kann unter Wasser grillen!
  3. @@blumentopf:

    nuqneH

    […] das Aufrufen eines Ankers […]
    Dann könnte man vielleicht eine Seite, die über das Ein- und Ausblenden von Inhalten organisiert ist(mit display:block/none)so einrichten, dass man sie dennoch mit dem Vor und Zurückbutton bedienen kann.

    Ich glaube, du willst kein JavaScript, sondern die CSS-Pseudoklasse :target verwenden.

    http://bittersmann.de/samples/gallery-20090728/

    http://forum.de.selfhtml.org/archiv/2009/7/t189183/#m1260327 ff.)

    Qapla'

    --
    Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
    (Mark Twain)
    1. Hallo, und vielen Dank für die Hilfe, entschuldigt die späte Antwort, ich war die Tage dann doch vom Rest des Netzes abgeschnitten..

      Ich glaube, du willst kein JavaScript, sondern die CSS-Pseudoklasse :target verwenden.

      Vielen Dank für diesen Tipp, ich glaube, der hat mich echt weitergebracht.
      Mein Versuchstext sieht so aus und funktioniert zumindest auf Safari und Firefox:

      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
      <html>  
      <head>  
      <style type="text/css">  
        
      div#inhalt1 {display:none}  
      div#inhalt1:target {display:block}  
      div#inhalt2 {display:none}  
      div#inhalt2:target {display:block}  
        
      </style>  
      </head>  
      <body>  
        
      <div id="inhalt1">Inhalt Eins</div>  
      <div id="inhalt2">Inhalt Zwei</div>  
      <div id="nix"></div>  
      <a href="#inhalt1" >zeige 1</a>  
      <a href="#inhalt2" >zeige 2</a>  
      <a href="#nix" >zeige nix</a>  
        
      </body>
      

      Dieser kleine Test orientiert sich im Wesentlichen an diesem Text: http://meiert.com/de/publications/articles/20060119/
      Ist das browser-übergreifend verlässlich einsetzbar, oder gibt es da Einschränkungen zu beachten?

      Besten Dank und Grüße

      1. @@blumentopf:

        nuqneH

        Ist das browser-übergreifend verlässlich einsetzbar, oder gibt es da Einschränkungen zu beachten?

        Das sagte ich doch schon.

        Qapla'

        --
        Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
        (Mark Twain)
        1. Das sagte ich doch schon.

          Entschuldigung. Ich dachte, vielleicht sieht es mittlerweile besser aus.
          Grüße

          1. @@blumentopf:

            nuqneH

            Entschuldigung. Ich dachte, vielleicht sieht es mittlerweile besser aus.

            Mittlerweile ist IE 8 immer noch der aktuellste IE (von Previews und Betaversionen abgesehen).

            Auch IE 7 wird noch verwendet. Man munkelt, auch IE 6 noch.

            Es soll sogar noch IE-5-Nutzer geben. Diese weisen durch den bestimmten Artikel vor ihrem Namen explizit auf ihre Sonderhaftigkeit hin. ;-)

            Qapla'

            --
            Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
            (Mark Twain)
            1. Hallo.

              Es soll sogar noch IE-5-Nutzer geben. Diese weisen durch den bestimmten Artikel vor ihrem Namen explizit auf ihre Sonderhaftigkeit hin. ;-)

              Der kenne ich.
              MfG, at

        2. Sollte man dann einen Alternativtext für IE und Opera verfassen, oder einfach, wie in folgendem Beispiel, den JS Text quasi doppelt mit ausführen, und somit wenigstens einigen Nutzern den Vor- und Zurückbutton zuzugestehen, ohne die anderen völlig auszuschließen?

          <head>  
            
            
          <script type="text/javascript">  
          function hideID(el) {  
          		document.getElementById(el).style.display = "none";  
          function showID(el) {  
          		document.getElementById(el).style.display = "block";  
          </script>  
            
          <style type="text/css">  
            
          div#inhalt1 {display:none}  
          div#inhalt1:target {display:block}  
          div#inhalt2 {display:none}  
          div#inhalt2:target {display:block}  
            
          </style>  
            
          </head>  
          <body>  
            
          <div id="inhalt1">Inhalt Eins</div>  
          <div id="inhalt2">Inhalt Zwei</div>  
          <div id="nix"></div>  
          <a href="#inhalt1" ><span onclick="showID('inhalt1');hideID('inhalt2');">zeige 1</span></a>  
          <a href="#inhalt2" ><span onclick="showID('inhalt2');hideID('inhalt1');">zeige 2</span>zeige 2</a>  
          <a href="#nix" >zeige nix</a>  
            
          </body>
          
          1. @@blumentopf:

            nuqneH

            Sollte man dann einen Alternativtext für IE und Opera verfassen, oder einfach, wie in folgendem Beispiel, den JS Text quasi doppelt mit ausführen, und somit wenigstens einigen Nutzern den Vor- und Zurückbutton zuzugestehen, ohne die anderen völlig auszuschließen?

            Auch das sagte ich schon.

            Qapla'

            --
            Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
            (Mark Twain)
            1. Hallo,
              vielleicht ist es ja etwas vermessen, wenn ich mit meinen geringen Kenntnissen immer viel zu komplizierte Sachen versuche, aber da rutsche ich eben irgendwie immer rein...
              Ich habe jetzt einmal versucht, dein .js zu verstehen, werde aber wohl nicht so schnell dahin kommen, so etwas selbst zu konstruieren oder nachzubauen.
              Ist das vorliegende JS in dieser Form einfach übertragbar und in anderen Zusammenhängen wie dem folgenden einsetzbar?
              Ich würde, soweit ich glaube, den Code verstanden zu haben, ihn einfach wie er ist auf einer Seite einbauen, auf der ich zu vor wie in deinem Beispiel Elemente mit target einblende. Dann müsste ich in dem JavaScript lediglich bigpicture durch die ID des entsprechenden Überobjektes ersetzen, und dann würde beim Aufruf eines entsprechenden Browsers das Script dafür sorgen, dass die Elemente entsprechend dem gerade aufgerufenen Anker ein- und ausgeblendet werden.
              Der Ankeraufruf müsste dann ja auch im Verlauf gespeichert sein, und somit das Ganze auch über Vor und zurück abrufbar.
              Wäre das so etwa möglich, oder habe ich es falsch verstanden?