Die Seite springt nach oben, wenn auf iframe geklickt wird

9

Meine Seite springt nach oben, wenn ich diesen gdrive iframe einbette, sobald Sie auf den iframe klicken:

%Vor%

JSFiddle: Ссылка

Frage: Warum tut es das und wie kann ich das verhindern?

Ich habe preventDefault ohne Glück versucht. Vielen Dank im Voraus für Ihre Hilfe.

    
bersling 06.01.2016, 08:32
quelle

3 Antworten

1

Ich bin mir nicht sicher, ob das nützlich ist. Übrigens könnten Sie das onload-Attribut verwenden, um die Seite nach unten zu scrollen: onload="scroll (0, screen.height);"

%Vor%     
Cafaro Rosario 20.01.2016 16:50
quelle
0

Nach meiner Untersuchung wird es nicht vom iframe selbst verursacht. Seine Ursache ist das Javascript, das von den eingebetteten Google-Dokumenten ausgeführt wird. Wenn der Bearbeitungsbereich der Google-Dokumente den Fokus erhält, geschieht dies. Wenn Sie auf den Menübereich zugreifen, geschieht nichts, außer es wird etwas dem Bearbeitungsbereich hinzugefügt. Ich habe versucht, den iframe mit Sandbox-Attribut zu beschränken und dieses Verhalten passiert nicht mehr, aber natürlich können Sie nicht die Google-Dokumente verwenden.

Tut mir leid, keine Lösungen zu empfehlen.

    
blokeish 21.01.2016 23:53
quelle
-2

Sie könnten JavaScript verwenden, um zu überprüfen, ob der iframe das aktive Element ist, und zurückspringen, wenn es aktiv ist.

if(document.activeElement.tagName == 'IFRAME') { document.activeElement.scrollIntoView() }

Siehe Jsfiddle für ein funktionierendes Beispiel.

    
jjoller 06.01.2016 08:53
quelle

Tags und Links