Opera hat keine Lust
Wastl
- javascript
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
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
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
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
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();">
<a href="http://forum.de.selfhtml.org" target="main" onclick="parent.frames[0].focus();"></a><br>
- <a href="http://forum.de.selfhtml.org" target="main" onclick="top.frames[0].focus();">
<a href="http://forum.de.selfhtml.org" target="main" onclick="top.frames[0].focus();"></a><br>
- <a href="http://forum.de.selfhtml.org" target="main" onclick="top.parent.frames[0].focus();">
<a href="http://forum.de.selfhtml.org" target="main" onclick="top.parent.frames[0].focus();"></a><br>
- <a href="http://forum.de.selfhtml.org" target="main" onclick="parent.main.focus();">
<a href="http://forum.de.selfhtml.org" target="main" onclick="parent.main.focus();"></a><br>
- <a href="http://forum.de.selfhtml.org" target="main" onclick="top.main.focus();">
<a href="http://forum.de.selfhtml.org" target="main" onclick="top.main.focus();"></a><br>
- <a href="http://forum.de.selfhtml.org" target="main" onclick="top.parent.main.focus();">
<a href="http://forum.de.selfhtml.org" target="main" onclick="top.parent.main.focus();"></a><br>
- <a href="http://forum.de.selfhtml.org" target="main" onclick="window.main.focus();">
<a href="http://forum.de.selfhtml.org" target="main" onclick="window.main.focus();"></a><br>
- <a href="http://forum.de.selfhtml.org" target="main" onclick="top.window.main.focus();">
<a href="http://forum.de.selfhtml.org" target="main" onclick="top.window.main.focus();"></a><br>
- <a href="http://forum.de.selfhtml.org" target="main" onclick="parent.window.main.focus();">
<a href="http://forum.de.selfhtml.org" target="main" onclick="parent.window.main.focus();"></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
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
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
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
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
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
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
hi,
In den Optionen unter Advanced -> Content -> Javascript Options kann "Allow raising of windows" und "allow lowering of windows"
... eingestellt werden.
gruß,
wahsaga
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