Wulf: IFrame: Fenster nach oben setzen

Hallo,

folgende Aufgabenstellung:

Situation:
Ich habe auf einigen Seiten einen IFrame zu einer Datenbank eingebunden.

Problem:
Wenn man im IFrame weit runter gescrollt ist und dort auf einen Link klickt wird innerhalb des Iframes eine neue Seite angezeigt. Der Text auf der neuen Seite im Iframe ist dann manchmal ein gutes Stück kürzer. Da die Hauptseite nicht nach oben zurückgesetzt wird entsteht folgender Effekt: Die gesamte Seite bleibt weit nach unten gescrollt stehen. An dieser Stelle ist nun kein Text mehr zu sehen (da ja Text der neuen Seite im Iframe kürzer ist als auf der vorherigen Seite). Der User sieht nur noch weiß und muss per Hand nach oben scrollen.

Gesuchte Lösung:
Wenn im IFrame eine neue Seite per Klick aufgerufen wird soll das ganze Fenster automatisch wieder nach oben scrollen.

Gibt es dazu ein JavaScript?
Habe schon etliches durchsucht, aber noch keine Lösung gefunden.

(Hoffe, dass dies ein Standard-Problem ist, für das es eine einfache Lösung gibt. Wenn nicht in Java, dann evtl. in PHP?)

Für jede Info und Hilfe schon mal rech herzlichen Dank.

VG
Wulf

  1. hi,

    Wenn man im IFrame weit runter gescrollt ist und dort auf einen Link klickt wird innerhalb des Iframes eine neue Seite angezeigt. Der Text auf der neuen Seite im Iframe ist dann manchmal ein gutes Stück kürzer. Da die Hauptseite nicht nach oben zurückgesetzt wird entsteht folgender Effekt:

    der besucher ist total genervt, weil du ihm mit einem über eine viewporthöhe großen iframe zwei scrollbalken vorsetzt.
    ja, sowas bedient sich wirklich besch...eiden.
    also verzichte doch bitte darauf, den iframe zu groß zu machen.

    Wenn im IFrame eine neue Seite per Klick aufgerufen wird soll das ganze Fenster automatisch wieder nach oben scrollen.

    Gibt es dazu ein JavaScript?

    javascript soll also wieder mal die probleme lösen, die man ohne (i)frames gar nicht hätte. ein vermurkstes konzept, das nur mit zusätzlichen mitteln halbwegs zu retten ist ...

    wenn du javascript benutzen willst, anstatt die seite wirklich zu verbessern - also das problem, den iframe, beseitigen, anstatt an symptomen rumzudoktorn - nutze entweder window.scrollTo() oder springe über location.hash einen top-anker an.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Hallo,

      vielen Dank für die schnelle Info.

      Habe daraufhin jetzt folgende Lösung gefunden:

      [iframe onload="scrollTo(0,0)" src="AufgerufeneSeite.de" height=100% width=100% frameborder=0 marginwidth=0 marginheight=0] [/iframe]

      Beim IE6 und im Firefox funktioniert es: Wird im IFrame eine neue Seite aufgerufen scrollt das ganze Fenster nach oben.

      Da ich Java-Neuling bin eine Bitte:
      Kann mir jemand sage, ob der Code korrekt ist oder ob ich mir damit unerwartete Probleme einhandele? (Abgesehen von dem generellen Problem IFrames einzusetzen.)

      javascript soll also wieder mal die probleme lösen, die man ohne (i)frames gar nicht hätte. ein vermurkstes konzept, das nur mit zusätzlichen mitteln halbwegs zu retten ist ...

      Da stimme ich Dir zu und ich bin mir der Unzulänglichkeit meiner aktuellen Möglichkeiten leider nur zu bewußt. Aber es wird besser ... (Hoffentlich!)

      Grüße
      Wulf

      1. hi,

        [iframe onload="scrollTo(0,0)" src="AufgerufeneSeite.de" height=100% width=100% frameborder=0 marginwidth=0 marginheight=0] [/iframe]

        Kann mir jemand sage, ob der Code korrekt ist oder ob ich mir damit unerwartete Probleme einhandele?

        onLoad für iframe ist laut hinweis in selfhtml nicht erlaubt;
        müsste wenn im body der im iframe aufgerufenen seite stehen, die dann ihrerseits wieder das hauptfenster hochscrollt.

        aber wenn dir das egal ist, und nach hinreichenden tests "funktioniert", dann lass es halt so.

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
        1. puts "Hallo " + gets.chomp + "."

          ?> wahsaga
          => Hallo wahsaga.

          aber wenn dir das egal ist, und nach hinreichenden tests "funktioniert", dann lass es halt so.

          Aufgegeben? ;-)

          Einen schönen Mittwoch noch.

          Gruß, Ashura

          --
          Selfcode: sh:( fo:) ch:? rl:( br:^ n4:& ie:{ mo:) va:) de:> zu:) fl:( ss:| ls:[ js:|
          30 Days to becoming an Opera8 Lover -- Day 20: search.ini
          Meine Browser: Opera 8.01 | Firefox 1.0.4 | Lynx 2.8.3 | Netscape 4.7 | IE 6.0
          [Deshalb frei! - Argumente pro freie Software]
          1. hi,

            Aufgegeben? ;-)

            man kann ja nicht ständig nur missionieren.

            gruß,
            wahsaga

            --
            /voodoo.css:
            #GeorgeWBush { position:absolute; bottom:-6ft; }
            1. puts "Hallo " + gets.chomp + "."

              ?> wahsaga
              => Hallo wahsaga.

              Aufgegeben? ;-)

              man kann ja nicht ständig nur missionieren.

              Sollten wir nicht die Missionarsstellung verteidigen?

              Einen schönen Mittwoch noch.

              Gruß, Ashura

              --
              Selfcode: sh:( fo:) ch:? rl:( br:^ n4:& ie:{ mo:) va:) de:> zu:) fl:( ss:| ls:[ js:|
              30 Days to becoming an Opera8 Lover -- Day 20: search.ini
              Meine Browser: Opera 8.01 | Firefox 1.0.4 | Lynx 2.8.3 | Netscape 4.7 | IE 6.0
              [Deshalb frei! - Argumente pro freie Software]