Wastl: Opera hat keine Lust

Hallo !
Mittels folgender Code-Zeile
<a href= ..... onclick="parent.frames[0].focus();">
kann ich den Fokus auf die Seite meines Iframe legen und dadurch, ohne Einsatz der Maus, die Seite mittels Pfeiltasten hoch und runter skrollen.
Nur der Opera will nicht und spielt wieder die Extrawurst.
Any ideas ??
Gruß Wastl

  1. Hallo Wastl,

    Mittels folgender Code-Zeile
    <a href= ..... onclick="parent.frames[0].focus();">
    kann ich den Fokus auf die Seite meines Iframe legen und dadurch, ohne Einsatz der Maus, die Seite mittels Pfeiltasten hoch und runter skrollen.
    Nur der Opera will nicht und spielt wieder die Extrawurst.

    Hast du es alternativ mal mit top.frames[0].focus() versucht? Möglicherweise liegt der Fikus bei Opera ja bereits im Parent des Iframes, also dem Mutter-Fenster, das dann womöglich (hoffentlich) nicht seinerseits noch ein Parent hat. Mit top müsste es dann gehen, wenn es daran liegt.

    Noch eine Idee für Opera:

    parent~ oder top.document.getElementsByTagName('IFRAME')[0].focus()

    Gruß Gernot

    1. Hast du es alternativ mal mit top.frames[0].focus() versucht? Möglicherweise liegt der Fikus bei Opera ja bereits im Parent des Iframes, also dem Mutter-Fenster, das dann womöglich (hoffentlich) nicht seinerseits noch ein Parent hat. Mit top müsste es dann gehen, wenn es daran liegt.

      Hallo Gernot, kurze Zwischenbilanz:
      Folgende Syntax funzt im MSIE und in den Netscapes/Mozillas:
      parent.frames[0].focus();
      top.frames[0].focus();
      top.parent.frames[0].focus();
      Leider immer noch nicht im Opera.
      ( Das Ganze ist ja eigentlich kein Beinbruch, erspart mir aber einen zusätzlichen Mausclick.)
      Hab auch versucht mittels onload im body-Tag der verlinkten Seite den Fokus auf die geladene Seite zu legen.
      Same result!

      Noch eine Idee für Opera:
      parent~ oder top.document.getElementsByTagName('IFRAME')[0].focus()

      Hier muß ich noch ein wenig experimentieren.
      Wait and see
      Gruß Wastl

  2. Hallo,

    Bei meinen Tests kann ich problemlos einen iframe fokussieren. Wie genau sieht deine Seite aus? Du hast ein Dokument mit einem iframe? Und wo sitzt der Link, der den iframe fokussieren soll?

    Ein Beispiel, das tadellos funktioniert:

    <iframe src="1.html" name="iframe"></iframe>  
    <p><a href="2.html" target="iframe" onclick="window.frames.iframe.focus()">2.html</a></p>
    

    Mathias

    1. Bei meinen Tests kann ich problemlos einen iframe fokussieren. Wie genau sieht deine Seite aus? Du hast ein Dokument mit einem iframe? Und wo sitzt der Link, der den iframe fokussieren soll?

      Hallo Mathias.
      Der Grund ist, daß mir Opera 7.54 einen Skriptfehler meldet und den Fokus auf die Javascript Konsole legt.
      Event thread: onclick
      Error:
      name: Error
      message: Security violation
      Kann damit nix anfangen, kann aber sein, daß irgendwo wieder irgendwas falsch etwas eingestellt ist ... !?
      Was heist Sicherheitsgefährdung ??
      Wer will, kann sich den Code mal rauskopieren und selber ausprobieren:

      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
      <html><head><title></title></head><body>
       - <a href="http://forum.de.selfhtml.org" target="main" onclick="parent.frames[0].focus();">
           &lt;a href="http://forum.de.selfhtml.org" target="main" onclick="parent.frames[0].focus();"&gt;</a><br>
       - <a href="http://forum.de.selfhtml.org" target="main" onclick="top.frames[0].focus();">
          &lt;a href="http://forum.de.selfhtml.org" target="main" onclick="top.frames[0].focus();"&gt;</a><br>
       - <a href="http://forum.de.selfhtml.org" target="main" onclick="top.parent.frames[0].focus();">
           &lt;a href="http://forum.de.selfhtml.org" target="main" onclick="top.parent.frames[0].focus();"&gt;</a><br>

      - <a href="http://forum.de.selfhtml.org" target="main" onclick="parent.main.focus();">
            &lt;a href="http://forum.de.selfhtml.org" target="main" onclick="parent.main.focus();"&gt;</a><br>
       - <a href="http://forum.de.selfhtml.org" target="main" onclick="top.main.focus();">
           &lt;a href="http://forum.de.selfhtml.org" target="main" onclick="top.main.focus();"&gt;</a><br>
       - <a href="http://forum.de.selfhtml.org" target="main" onclick="top.parent.main.focus();">
           &lt;a href="http://forum.de.selfhtml.org" target="main" onclick="top.parent.main.focus();"&gt;</a><br>

      - <a href="http://forum.de.selfhtml.org" target="main" onclick="window.main.focus();">
            &lt;a href="http://forum.de.selfhtml.org" target="main" onclick="window.main.focus();"&gt;</a><br>
       - <a href="http://forum.de.selfhtml.org" target="main" onclick="top.window.main.focus();">
           &lt;a href="http://forum.de.selfhtml.org" target="main" onclick="top.window.main.focus();"&gt;</a><br>
       - <a href="http://forum.de.selfhtml.org" target="main" onclick="parent.window.main.focus();">
           &lt;a href="http://forum.de.selfhtml.org" target="main" onclick="parent.window.main.focus();"&gt;</a><br>
      <br>
      <iframe src="http://forum.de.selfhtml.org" width="500" height="300" frameborder="1" scrolling="auto" name="main"></iframe>
      </body></html>

      Gruß Wastl

      1. hi,

        Der Grund ist, daß mir Opera 7.54 einen Skriptfehler meldet und den Fokus auf die Javascript Konsole legt.
        Event thread: onclick
        Error:
        name: Error
        message: Security violation
        Kann damit nix anfangen, kann aber sein, daß irgendwo wieder irgendwas falsch etwas eingestellt ist ... !?
        Was heist Sicherheitsgefährdung ??

        Vermutlich bezieht sich die Meldung auf die Same Origin Policy, nach der du auf Dokumente von fremden Domains keinen Zugriff hast.

        Ob die hier wirklich anzuwenden wäre, wenn du lediglich versuchst, den Iframe zu fokussieren, darüber könnte man streiten.

        Aber eine strikte Anwendung halte ich allemal für besser, als eine mit zu vielen "Ausnahmen", durch die sich dann wieder leicht Implementierungsfehler einschleichen.

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
        1. Vermutlich bezieht sich die Meldung auf die Same Origin Policy, nach der du auf Dokumente von fremden Domains keinen Zugriff hast.

          Stimmt! Die Fehlermeldung bleibt aus wenn ich eine meiner lokalen HTML-Seite aufrufe, der Script-Code zeigt aber im 7.54er nach wie vor keine Wirkung. ( Das heißt ich kann die Pfeiltasten erst einsetzen, wenn ich vorher in die Seite reinklicke )
          Ich hab mir jetzt den 8.52er runtergeladen und da klappt das jetzt problemlos.
          Ist schon irgendwie strange. Hinken die Herren aus Norwegen denn ewig hinterher ... ?!
          Gruß Wastl

          1. Hi,

            Ist schon irgendwie strange. Hinken die Herren aus Norwegen denn ewig hinterher ... ?!

            DU hinkst mit Deiner Opera-Version Ewigkeiten hinter der aktuellen Version her und wirfst das den Norwegern vor?
            Opera 8.0 ist vor über einem Jahr erschienen, die 8.5x gibt es seit letztem September (also ca. ein 3/4 Jahr) (Quelle: http://opera.com/docs/changelogs/windows/)

            cu,
            Andreas

            --
            Warum nennt sich Andreas hier MudGuard?
            Schreinerei Waechter
            O o ostern ...
            Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
      2. Hi,

        Der Grund ist, daß mir Opera 7.54 einen Skriptfehler meldet

        also ein etwas arg veralteter Opera.

        message: Security violation

        Weil du versuchst, einen Iframe mit Inhalt eines anderen Servers per Script zu manipulieren?
        Könnte die Same Origin Policy sein ...

        cu,
        Andreas

        --
        Warum nennt sich Andreas hier MudGuard?
        Schreinerei Waechter
        O o ostern ...
        Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
  3. Hi,

    <a href= ..... onclick="parent.frames[0].focus();">
    kann ich den Fokus auf die Seite meines Iframe legen und dadurch, ohne Einsatz der Maus, die Seite mittels Pfeiltasten hoch und runter skrollen.
    Nur der Opera will nicht und spielt wieder die Extrawurst.

    Bietet Opera vielleicht eine Option, mit der es Javascript verboten werden kann, ein Fenster zu fokussieren?
    So auf die Schnelle hab ich nichts gefunden, aber da ich Opera nur zu Testzwecken nutze, kann es durchaus sein, daß ich da was übersehen habe ...

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    Schreinerei Waechter
    O o ostern ...
    Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
    1. hi,

      Bietet Opera vielleicht eine Option, mit der es Javascript verboten werden kann, ein Fenster zu fokussieren?

      In den Optionen unter Advanced -> Content -> Javascript Options kann "Allow raising of windows" und "allow lowering of windows".
      Ersteres dürfte also window.focus() betreffen, und letzteres window.blur().

      (Version 8.54 unter Win XP)

      gruß,
      wahsaga

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

        In den Optionen unter Advanced -> Content -> Javascript Options kann "Allow raising of windows" und "allow lowering of windows"

        ... eingestellt werden.

        gruß,
        wahsaga

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

        In den Optionen unter Advanced -> Content -> Javascript Options kann "Allow raising of windows" und "allow lowering of windows".
        Ersteres dürfte also window.focus() betreffen, und letzteres window.blur().

        Das betrifft nur Popup-Fenster, iframes lassen sich unabhängig davon immer fokussieren.

        Mathias