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.
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%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.
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.
Tags und Links iframe