Linuchs: Neue Seite im iframe nicht im Sichtbereich

Hallo,

wenn ich in einem iframe einen Link anklicke, öffnet sich die neue Seite in diesem iframe.

Problem: Im iframe habe ich ziemlich weit heruntergescrollt und die neue Seite öffnet sich oben, also oberhalb meines Sichtbereiches.

Habe in der neuen Seite angegeben
<body onload="self.location.href='#top'" ...

Aber das wirkt natürlich nicht auf die parent-Seite.

Was könnte ich machen, um die neue Seite in den Sichtbereich zu bekommen?

Hier kann man's ansehen: Veranstaltungen
Bitte runterscrollen bis Oktober und dann Herbst und Lichterfest klicken.

Linuchs

  1. Hi,

    Habe in der neuen Seite angegeben
    <body onload="self.location.href='#top'" ...

    Aber das wirkt natürlich nicht auf die parent-Seite.

    Nein, natürlich wirkt *self* nicht auf *parent* …

    MfG ChrisB

    --
    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
    1. Hallo ChrisB,

      Nein, natürlich wirkt *self* nicht auf *parent* …

      Danke für den Wink mit dem Zaunpfahl. Ich hätte im Leben nicht dran gedacht, dass iframe sein Elter irgendwie beeinflussen könnte  ...

      <body onload="parent.location.href='#remso'" ...

      Uups, nee. Geht nur "zufällig" bei Opera. Da bleibt die Elterseite erhalten und springt auf den Anfang des iframe, der da id=remso heisst.
      URL-Adresszeile: http://www.ihr-ferienhaus-dornumersiel.de/veranstaltungskalender.html#remso

      Bei Firefox ersetzt die eigentlich im iframe zu ladende Seite die Elterseite.
      URL-Adresszeile: http://remso.eu/?TID=15101&gif_name=img357322&lg=de#remso

      Linuchs

      1. Hi,

        <body onload="parent.location.href='#remso'" ...

        Uups, nee. Geht nur "zufällig" bei Opera. Da bleibt die Elterseite erhalten und springt auf den Anfang des iframe, der da id=remso heisst.
        URL-Adresszeile: http://www.ihr-ferienhaus-dornumersiel.de/veranstaltungskalender.html#remso

        Bei Firefox ersetzt die eigentlich im iframe zu ladende Seite die Elterseite.
        URL-Adresszeile: http://remso.eu/?TID=15101&gif_name=img357322&lg=de#remso

        Mal mit parent.location.hash versucht …?

        MfG ChrisB

        --
        Autocomplete has spoiled me to a point where it happens every so often that I encounter a CAPTCHA, and I just type in the first character … and then wait for the rest of the code to be automatically suggested :/
  2. Om nah hoo pez nyeetz, Linuchs!

    Was könnte ich machen, um die neue Seite in den Sichtbereich zu bekommen?

    Woher bekommt der Iframe seine Höhe? Im Quelltext steht 800. Dann sind es 4000 und irgendwas.

    Matthias

    --
    Der Unterschied zwischen Java und JavaScript ist größer als der zwischen Wunde und Wunderhorn.

    1. Hallo Matthias,

      Woher bekommt der Iframe seine Höhe? Im Quelltext steht 800. Dann sind es 4000 und irgendwas.

      Die Seite im iframe meldet ihre eigene Höhe per Ajax an ihren eigenen Server, der stellt ein leeres Image mit dieser Höhe bereit. Die parent-Seite reagiert auf onload des iframe-Inhalts und holt sich das Image. Dessen Höhe wird zur Höhe des iframe.

      Linuchs

      1. Om nah hoo pez nyeetz, Linuchs!

        Die Seite im iframe meldet ihre eigene Höhe per Ajax an ihren eigenen Server, der stellt ein leeres Image mit dieser Höhe bereit. Die parent-Seite reagiert auf onload des iframe-Inhalts und holt sich das Image. Dessen Höhe wird zur Höhe des iframe.

        Und das geht bei anderen Events nicht?

        Matthias

        --
        Der Unterschied zwischen Java und JavaScript ist größer als der zwischen Beil und Beilage.

        1. Om nah hoo pez nyeetz, Linuchs!

          Die Seite im iframe meldet ihre eigene Höhe per Ajax an ihren eigenen Server, der stellt ein leeres Image mit dieser Höhe bereit. Die parent-Seite reagiert auf onload des iframe-Inhalts und holt sich das Image. Dessen Höhe wird zur Höhe des iframe.

          Und das geht bei anderen Events nicht?

          So weit ich weiss, "feuert" das onload Event aus Sicht der parent-Seite nur einmal, wenn die erste Seite im iframe geladen ist. Nicht nochmals, wenn im iframe eine andere Seite aufgerufen wird.

          Ich kann das ja testen, indem ich im iframe eine andere Seite aufrufe, die nicht so hoch ist. Wenn die parent-Seite das onload abhört, müsste sie ja die Höhe des iframe reduzieren.

          Das passiert aber nicht.

          Selbst dann, wenn es durch einen Trick ginge, würde bestenfalls der Fuss der parent-Seite gezeigt, ich möchte aber die obere Seite des iframe sehen.

          Linuchs

          1. Om nah hoo pez nyeetz, Linuchs!

            Die Seite im iframe meldet ihre eigene Höhe per Ajax an ihren eigenen Server, der stellt ein leeres Image mit dieser Höhe bereit. Die parent-Seite reagiert auf onload des iframe-Inhalts und holt sich das Image. Dessen Höhe wird zur Höhe des iframe.

            So weit ich weiss, "feuert" das onload Event aus Sicht der parent-Seite nur einmal, wenn die erste Seite im iframe geladen ist. Nicht nochmals, wenn im iframe eine andere Seite aufgerufen wird.

            Das stimmt. Es gibt noch andere Eventhandler. Für Geräte mit Maus etwa onmouseup. Nur ein Gedanke. Und zur Oberkante des IFrames lässt sich dann scrollen.

            Das Einfachste wäre jedoch ein scrollbares Iframe mit fester Höhe. Ob sie nun dieses oder die komplette Seite scrollen ist beinahe egal, würde ich sagen.

            Matthias

            --
            Der Unterschied zwischen Java und JavaScript ist größer als der zwischen Star und Star Trek.