IFrames und setTimeout - Focus wechselt, warum?
Mr. Burns
- javascript
0 Jörg Peschke0 Mr. Burns0 wahsaga
Hallo,
ich habe eine Seite mit einem IFrame.
In diesem IFrame lade ich eine Seite, die eine über eine JavaScript Funktion unt setTimeout sich immer neu lädt.
In der Hauptseite, die den IFrame enthält, befindet sich ein Textfeld, das den Focus hat.
Nun das Problem, jedesmal, wenn in der IFrame Seite die setTimout-Funktion aufgerufen wird verliert das Textfeld in der Hauptseite den Focus!
Auch wenn ich die IFrame Seite nicht über setTimeout neu lade, sondern mit <meta http-equiv="refresh" ...> tritt dasselbe Problem auf.
Kann ich das verhindern?
Der Hintergrund ist, ich möchte eine automatische (nach Zeit) BannerRotation durchführen, aber wenn jemand auf meiner Seite was in meinem Textfeld tippt, und der nächste Banner (IFrame) wird angezeigt, dann verliert das Textfeld den Focus und der User ist nicht begeistert davon.
Wie bekommt man eine Bannerrotation (nach Zeit, nicht nach User-Aktion) hin ohne im Hauptteil der Seite den Focus zu verändern?
Danke für jegliche Hilfe!
Hallo,
Kann ich das verhindern?
Hm, du könntest per Hand jedesmal, wenn ein Banner kommt wieder den Focus an ein Element in deiner Seite zurückgeben. Ist aber auch dumm, wenn ein User selbst den Focus gewechselt hat (z.b. durch TAB-Drücken) und dann dein Skript ihm den Focus wieder wegnimmt, ist das wohl recht störend.
Wie bekommt man eine Bannerrotation (nach Zeit, nicht nach User-Aktion) hin ohne im Hauptteil der Seite den Focus zu verändern?
Hast Du mal überlegt, das ohne Iframes zu machen? Lediglich ein <img>-Element, von dem du das src-Attribut austauschst?
Grüße,
Jörg
Hallo Jörg,
danke für Deine Info. Mit dem <img> Element und dem austausch der src ist vielleicht ne Idee. Aber wird denn sofort das image neu angezeigt, blos weil ich das src"..." ändere?
Was mach ich, wenn mal ein <img> als Banner angezeigt werden soll, mal ein SWF (Flash)?
Habe ne PHP Seite zur Verfügung, die mir den HTML Code zurückliefern würde, z.B. für ein Image:
<img src="...">
und für Flash:
<opject>...</object>
aber wie bekomme ich den zurückgelieferten Inhalt in meine HTML Seite. innerHTML hat ja kein src"...".
Danke für weitere Hilfe!
Hallo,
Ist es irgendwie möglich, mit Javascript oder HTML-Attributen o.ä. zu verhindern, dass ein Element (Image, Textfeld, etc.) den Focus bekommen kann?
Danke!
hi,
Ist es irgendwie möglich, mit Javascript oder HTML-Attributen o.ä. zu verhindern, dass ein Element (Image, Textfeld, etc.) den Focus bekommen kann?
Ja - onfocus, .blur() (sofern letztere Methode für das betreffende Element existiert - prüfen!)
_Sinnvoll_ ist es aber so gut wie nie.
Es macht stark den Eindruck, dass du immer noch an Symptomen herumdoktorst, anstatt die Ursache deines Problems zu bekämpfen.
gruß,
wahsaga