2016-07-01 7 views
4

Ich konnte keine relevanten Informationen zu diesem Problem finden.Seltsames iFrame-Scroll-Verhalten im Safari-Desktop

Wenn der übergeordnete Container eine feste Höhe hat und überläuft: scroll, dann scrollt der innere iframe nicht richtig. Es konnte nur nach unten oder nur nach oben gescrollt werden. Aber nicht gleichzeitig.

Obwohl es funktioniert, wenn ich Überlauf entfernen: scroll; aus dem #Outer-Container.

Bitte werfen Sie einen Blick auf das beigefügte Code-Snippet und führen Sie es in Safari aus.

Derzeit bin ich mit Safari Version 9.0.3 OS X El Capitan 10.11.3

UPD: fand ich heraus, dass dieser Fehler nur mit Apple-Eingang devise reproduziert werden kann, Magic Mouse oder Touchpad. Schauen Sie sich das Video: https://www.youtube.com/watch?v=2IpjAbWgbuc

ich nicht den Fehler im Code-Schnipsel reproduzieren könnte also hier ist die eigentliche HTML-Seite:

https://s3-eu-west-1.amazonaws.com/plio/other/iframe_scroll_safari_issue.html

* { 
 
    box-sizing: border-box; 
 
} 
 
#outer { 
 
    height: 500px; 
 
    width: 500px; 
 
    margin: 0 auto; 
 
    padding: 60px; 
 
    overflow: scroll; 
 
} 
 
#inner1, #inner2 { 
 
    height: 300px; 
 
    margin-bottom: 50px; 
 
} 
 
#scrollable1, #scrollable2 { 
 
    height: 100%; 
 
    width: 100%; 
 
    overflow: scroll; 
 
} 
 
#scrollable1 > *, #scrollable2 > * { 
 
    border: 3px dashed; 
 
    width: 100%; 
 
}
<!DOCTYPE html> 
 
<html> 
 
    <body> 
 

 
    <div id="outer"> 
 
     <div id="inner1"> 
 
     <div id="scrollable1"> 
 
      <img src="http://static.fjcdn.com/pictures/Long_3c2320_670942.jpg"> 
 
     </div> 
 
     </div> 
 
     <div id="inner2"> 
 
     <iframe id="scrollable2" src="https://plio.s3.amazonaws.com/uploads/KwKXz5RefrE5hjWJ2/standards-files/HLiWGZdNL5hifyRhJ/YCWzyS3XX2Wkko6tv-demo.docx.html"></iframe> 
 
     </div> 
 
    </div> 
 

 
    </body> 
 
</html>

+0

Es scheint, normalerweise auf meiner Safari zu arbeiten. Mit 9.1 hier. – adamk22

+0

@ adamk22 hast du eine normale Maus oder Apple Magic Mouse/Trackpad benutzt? – Praxie

Antwort

0

Versuchen Hinzufügen zu Ihre iframes dieses js Ereignis: onmousewheel='event.preventDefault();'. Wenn das nicht funktioniert, sag es mir.

+0

Leider hat es nicht geholfen. [https://i.gyazo.com/c5925594b7d58d1a1abf51fdd13c6be4.gif](https://i.gyazo.com/c5925594b7d58d1a1abf51fdd13c6be4.gif) – Praxie

+0

Versuchen Sie, 'onmousewheel' mit' onscroll' zu ändern – JHacking

+0

Hoppla! Fügen Sie stattdessen 'onscroll = 'event.stopPropagation()' hinzu. Es tut uns leid! – JHacking

0

Sie können dieses Problem beheben, indem sie den Körper innerhalb des iFrame height: 100%; Einstellung