Linuchs: Verlinken aus iframe zum parent

Moin,

ich erstelle projektbezogene Liederbücher in mehreren Größen A4 ... A6. Jedes Projekt und jede Größe hat eine HTML-Datei, die aus iframes besteht. In den iframes das Inhaltsverzeichnis und die Lieder.

Nun möchte ich im Inhaltsverzeichnis gerne auf einen Titel klicken und das Lied sehen, es muss also das parent-Element des Inhaltsverzeichnisses verschoben werden.

Inhaltsverzeichnis:

  <li>Bora Bora ♫ <a href="#lied_03" target="_parent">03</a></li>

iframe-Gerüst:

<div class="a4">
<div id=lied_03 class="a4 ungerade">
  <p class=page_nr><a href="#top">03</a></p>
  <p class=page_nr><a href="#top">03</a></p>
  <iframe frameborder=0 src="bora_bora.htm"></iframe>
</div></div>

Bei Klick wird nur noch das Inhaltsverzeichnis gezeigt, also eben nicht _parent

Wenn ich im Inhaltsverzeichnis den Namen des parent angebe, funktioniert der Sprung an die richtige Stelle ...

  <li>Bora Bora ♫ <a href="liederbuch_a4.htm#lied_03" target="_parent">03</a></li>

... aber im liederbuch_a6.htm leider nicht.

Wie kann ich das Problem lösen?

Linuchs

  1. Habe eine provisorische Lösung gefunden.

    Inhaltsverzeichnis:

    <head>
      <base href="liederbuch_a4.htm">
    

    Da muss ich beim A6-Layout zwar nur eine Zeile im Textbaustein austauschen, was ich aber auch noch vermeiden möchte.

    Was sich bei A4 und A6 unterscheidet, ist der Inhalt der basis.css, insbesondere die Schriftgrößen. Könnte ich per CSS die Links beeinflussen?

    Sowas wie

      <base id="base_a4" href="liederbuch_a4.htm">
      <base id="base_a6" href="liederbuch_a6.htm">
    
    #base_a6 {display:none}
    

    Nee, klappt nicht. Es wird der erste Eintrag base genommen.

    Linuchs

    1. Hallo Linuchs,

      Nee, klappt nicht. Es wird der erste Eintrag base genommen.

      Dann nimm doch zwei Links und blende den nicht gebrauchten aus.

      <li>Bora Bora ♫ <a href="liederbuch_a4.htm#lied_03" target="_parent">03</a><a href="liederbuch_a6.htm#lied_03" target="_parent">03</a></li>
      

      Warum das ursprüngliche Vorhaben nicht funktioniert, ist auch klar. href="#foo" ist ein seiteninterner Verweis. Und die Seite ist nun mal das Dokument im Iframe.

      Bis demnächst
      Matthias

      --
      Dieses Forum nutzt Markdown. Im Wiki erhalten Sie Hilfe bei der Formatierung Ihrer Beiträge.