Sprung des Cursors in eingebundenen iFrame unterbinden
abang_chris
- html
0 Felix Riesterer0 Cheatah1 MudGuard
Hallo,
ich habe folgendes Problem (tritt browserübergreifend auf):
Über HTML binde ich in eine Seite mit Hilfe von iFrames Inhalte externer Seiten ein. Diese Seiten weisen zum Teil Formularfelder auf in die der Cursor automatisch während des Aufbaus meiner Seite springt. Da ich mehrere iFrames untereinander eingebunden habe, hat dies zur Folge, dass die Seite nach Abschluss des Ladevorgangs nicht am Kopf ausgerichtet ist, da der Cursor automatisch in eines der Formularfelder (weiter unten) gesprungen ist.
Meine Frage: kann ich dieses automatische Springen des Cursors in einen der iFrames irgendwie unterbinden oder in meinem Quellcode angeben, dass der Cursor auf den Seitenkopf gesetzt wird?
Es ist für den Benutzer störend, wenn nach dem Ladevorgang die Seite von selbst mit dem Cursor nach unten springt und nicht am Kopf ausgerichtet ist.
Any help appreciated,
abang_chris
Lieber abang_chris,
wer Frames einsetzt, hat sich dafür entschieden, mit den Nachteilen zu leben. Bist Du sicher, dass Du zwingend auf Frames angewiesen bist?
Liebe Grüße,
Felix Riesterer.
Leider bin ich auf die iFrames angewiesen. Die Alternative wäre den source code der externen Seite per Skript zu scannen und den gewünschten Teil (in meinem Fall geht es um Suchergebnisse von Onlinekatalogen) auszuschneiden (selbstverständlich habe ich mir die Rechte eingeholt).
Dies stellt für mich aber keine Alternative dar, da bei jeglicher Änderung der externen Seite das "Ausschneideskript" nicht mehr funktionieren würde/ angepasst werden müsste. Die Verwendung von iFrames scheint mir die einzig sinnvolle Möglichkeit ohne das meine Seite anfällig ist für Änderungen der externen Seiten.
Aber danke für die Antworten und Hinweise!
Gruß,
abang_chris
Hi,
Meine Frage: kann ich dieses automatische Springen des Cursors in einen der iFrames irgendwie unterbinden oder in meinem Quellcode angeben, dass der Cursor auf den Seitenkopf gesetzt wird?
nein, Du kannst nicht verhindern, dass in den fremden Seiten JavaScript eingesetzt wird.
Es ist für den Benutzer störend, wenn nach dem Ladevorgang die Seite von selbst mit dem Cursor nach unten springt und nicht am Kopf ausgerichtet ist.
Wer immer behauptet hat, Frames seien für den Benutzer ein Vorteil, hatte von Web-Technologien ungefähr so viel Ahnung wie ein handelsüblicher Karpfen von der Zucht und Pflege tasmanischer Wollschafe.
Cheatah
Wir brauchen hier mehr Querdenker :P
nein, Du kannst nicht verhindern, dass in den fremden Seiten JavaScript eingesetzt wird.
Das ist richtig. Aber schließt eine Lösung doch nicht aus.
Wer immer behauptet hat, Frames seien für den Benutzer ein Vorteil, hatte von Web-Technologien ungefähr so viel Ahnung wie ein handelsüblicher Karpfen von der Zucht und Pflege tasmanischer Wollschafe.
Trau doch wenigstens dem Urvater der Frames etwas mehr zu ;)
Frames können durchaus sehr praktisch sein.
Leider gehen immer gleich alle von einer schlechten Implementierung aus.
Ich würde das so angehen:
Setze den Fokus in ein verstecktes Element, bediene dich dabei setInterval (sagen wir mal mit 10 oder 50). Dann springt der Cursor wieder zurück in dein Frame. Das Scroll-Problem löst du einfach mit Hilfe von scrollTo: http://de.selfhtml.org/javascript/objekte/window.htm#scroll_to .
Gruß,
jumini
Hi,
Ich würde das so angehen:
Setze den Fokus in ein verstecktes Element, bediene dich dabei setInterval (sagen wir mal mit 10 oder 50). Dann springt der Cursor wieder zurück in dein Frame.
Ja. Und dann springt er wieder. Und dann wieder. Und ...
MfG ChrisB
Ja. Und dann springt er wieder. Und dann wieder. Und ...
Das wäre aber ein ausgefallenes Szenario.
Ich gehe mal davon aus, dass 99% aller "Fokus" aufrufe nicht in Intervallen ausgeführt werden.
abang_chris fomuliert ja auch so, als würde der Focus nur zum onLoad der eingebetteten Seite wehcseln.
Chris, liest du noch mit?
Gruß
jumini
Hi,
Ja. Und dann springt er wieder. Und dann wieder. Und ...
Das wäre aber ein ausgefallenes Szenario.
Ich gehe mal davon aus, dass 99% aller "Fokus" aufrufe nicht in Intervallen ausgeführt werden.
*Dein* Vorschlag fiel aber unter die restlichen 1%.
MfG ChrisB
Hi,
Meine Frage: kann ich dieses automatische Springen des Cursors in einen der iFrames irgendwie unterbinden
Aber sicher, das geht ganz einfach:
Du bittest die Betreiber der fremden Seiten, (mit denen Du ja ohnehin schon Kontakt hattest, um die Genehmigung zur Einbindung in Deine iframes zu erhalten), daß sie das Script abschalten (ggf. abhängig davon, daß Du einen gewissen Parameter mit an die URL der fremden Seite hängst, damit sie die Einbindung durch Dich erkennen können).
cu,
Andreas