Birgit Woskobojnik: Link auf Textmarke auf einer Seite im Frame

Ich habe eine Seite mit Textmarken in einem Frame.
Nun möchte ich auf diese Textmarke einen Hyperlink von einer Seite in einem anderen Frame setzen. d.h. wenn ich auf den Hyperlink gehe, dann
soll der Frame mit der Seite geladen werden, dabei soll die Seite auf die Position der Textmarke gescrollt werden.

mit href = "frame.html#seite.html#textmarke" wird die Seite zwar angesprochen, nicht auf die Position gescrollt.

  1. Hallo Birigt,

    mit href = "frame.html#seite.html#textmarke" wird die Seite zwar angesprochen, nicht auf die Position gescrollt.

    Also diese Syntax verstehe ich nicht ganz. Angenommen Du hast folgendes Frameset:

    <frameset cols="30%,*">
      <frame name="verweise" src="verweise.htm">
      <frame name="ziele" src="titel.htm">
    </frameset>

    Und Du willst, dass ein Link in verweise.htm auf eine Datei seite.htm zu einem Anker namens #textmarke fuehren soll, dann lautet die Syntax:

    <a href="seite.htm#textmarke" target="ziele">...</a>

    Viele Gruesse
      Stefan Muenz

    1. Das ist ja schon mal aufschlußreich. Wieso klappt aber mein Trick nicht, mit dem ich mir viel Arbeit ersparen wollte?
      Ich hatte bereits eine Datei mit vielen Ankern (ein Lexikon), und wollte diese nun in einen Frame einbauen. Also sagte ich

      <frameset cols="30,*">
        <frame name="verweise" src="verweise.htm">
        <frame name="ziele" src="lexkon.htm#begriff">
      </frameset>

      Ich wollte also, daß die Datei lexkon.htm in einem Frame auf eine ander Datei und dann auf sich selbst zurückgreift, um nicht in einem unendlichen Loop zu landen, greife ich auf einem wieter unten liegenden Anker. Wäre zu schön gewesen, wenn es geklappt hätte.

      1. Hallo Alex,

        <frame name="ziele" src="lexkon.htm#begriff">

        Das funktioniert moeglicherweise in der Praxis der Browser nicht, obwohl theoretisch nichts gegen ein solches Konstrukt spricht, denn es ist eine gueltige URL.
        Eventuell koennte man in der aufgerufenen Seite mit einem JavaScript am Seitenende mit so etwas wie self.location.href=self.location.hash versuchen nachzuhelfen. Aber sonst faellt mir nichts dazu ein.

        Viele Gruesse
          Stefan Muenz

        1. Hallo Alex,

          <frame name="ziele" src="lexkon.htm#begriff">

          Das funktioniert moeglicherweise in der Praxis der Browser nicht, obwohl theoretisch nichts gegen ein solches Konstrukt spricht, denn es ist eine gueltige URL.

          Immerhin bin ich nich völlig doof :)
          Selfhtml 7.0 sein Dank (lob, schleim)

    2. Mein Problem muß ich wohl doch etwas klarer formulieren.
      Ich habe zwei Frames, der eine, nennen wir ihn "übersicht_frame.htm" enthält eine Bannerseite und eine Seite "übersicht.htm", der andere Frame "inhalt_frame.htm" enthält auch die Bannerseite und die Seite "inhalt.htm" mit allen möglichen Textmarken sowie die Seite "rand.htm".

      Wenn ich nun den Frame "übersicht_frame.htm" mit der Seite "übersicht.htm" lade, dann möchte mit diversen Hyperlinks auf die entsprechende Textmarke der Seite "inhalt.htm" springen, allerdings soll der gesamte Frame "inhalt_frame.htm" mit dem Banner, der Inhaltsseite und dem Rand geladen werden.
      Wäre die Seite "inhalt.htm" nicht in einem Frame eingebettet, dann würde der Hyperlink mit <a href="inhalt.htm#textmarke" target="ziele">...</a>
      wunderbar funktionieren.

      Ich möchte allerdings den Frame "inhalt_frame.htm"  statt der Seite "inhalt.htm" aufrufen, wie kann ich die entsprechende Textmarke nun ansprechen?

      1. Hallo Birgit,

        Wenn ich nun den Frame "übersicht_frame.htm" mit der Seite "übersicht.htm" lade, dann möchte mit diversen Hyperlinks auf die entsprechende Textmarke der Seite "inhalt.htm" springen, allerdings soll der gesamte Frame "inhalt_frame.htm" mit dem Banner, der Inhaltsseite und dem Rand geladen werden.
        Wäre die Seite "inhalt.htm" nicht in einem Frame eingebettet, dann würde der Hyperlink mit <a href="inhalt.htm#textmarke" target="ziele">...</a>
        wunderbar funktionieren.

        Ich möchte allerdings den Frame "inhalt_frame.htm"  statt der Seite "inhalt.htm" aufrufen, wie kann ich die entsprechende Textmarke nun ansprechen?

        Wenn sich das Banner und der Rand nicht aendern, wuerde es ja reichen, wenn nur die Seite inhalt.htm mit der entsprechenden Textmarke neu geladen wird und Banner und Rand stehenbleiben.
        Wenn Du Deine Framesets mit <frame src="dateiXY.htm" name="nameXY"> definiert hast und die names eindeutig sind, ist Dein Problem mit <a href="inhalt.htm#textmarke" target="nameXY">...</a> eigentlich schon geloest.

        Wenn sich aber Banner und Rand auch aendern sollen, musst Du wohl mit JavaScript arbeiten.
        Wie man mehrere Frames gleichzeitig aendern kann, steht im selfhtml als Anwendungsbeispiel:
        [Link: ../../teda.htm

        Ich hoffe, dass hilft weiter
        Viele Gruesse
        Christoph Lipp