chrome ruft beim Scrollen ein festes Element ab

8

Ich verwende die Chrome-Version 18.0.1025.162 m
Ich habe eine HTML-Datei mit iframe darin.

Ich kann die beinhaltende Seite oder ihre css (main.htm) nicht ändern
Ich kann nur den iframe (show.htm) und seine CSS ändern.

Das Problem ist, dass, wenn ich nach unten scrolle und dann zurück scrolle, dann das adminbar div mehrmals repliziert wird.
Ich befestige 2 Screenshots, das erste ist der Bildschirm vor dem Scrollen und ich füge auch den Code hinzu, so dass der Fehler reproduziert werden kann.

Ich denke, es könnte ein Fehler in Chrom sein, ich bin mir nicht sicher.
Ich würde gerne wissen, ob es sich um einen Fehler handelt und, was noch wichtiger ist, wenn es eine Arbeit gibt, indem ich nur den iframe ändere und nicht die Hintergrundfarbe aus dem iframe entferne (Entfernen der Hintergrundfarbe aus dem iframe löst das Problem, aber ich brauche die Hintergrundfarbe)

so sieht es aus: vor dem Scrollen:

nach dem Scrollen (Admin-Leiste wird auf dem Bildschirm repliziert)

Code, um den Fehler in Chrome

zu reproduzieren

erste Datei - main.htm (ich kann diesen Code nicht ändern)

%Vor%

und die show.htm

%Vor%     
yossi 24.04.2012, 13:58
quelle

8 Antworten

1

yossis Antwort verbessern / vereinfachen:

%Vor%

Sie müssen bg-color oder repeat-x nicht deklarieren, sondern brauchen nur ein Hintergrundbild.

Getestet auf Chrome 18.0.1025.168, Mac OS X 10.6.8.

    
Francis Kim 03.05.2012, 01:49
quelle
7

Ich glaube, ich habe einen Workaround gefunden. Ich habe eine Datei background.png erstellt, die ein Pixel mit der gewünschten Farbe hat (# e0e0e0).

Ich ersetze das dann:

%Vor%

mit diesem:

%Vor%     
yossi 01.05.2012 12:21
quelle
4

Fügen Sie -webkit-transform: translate3d(0,0,0); Ihrem body-content CSS hinzu

CSS

%Vor%

Dies zwingt Chrome dazu, Ihre Grafikkarte zu verwenden und das Rendering-Problem zu beheben.

UPDATE : Da Sie main.htm nicht ändern können, ändern Sie die Hintergrundfarbe von show.htm in ein Hintergrundbild derselben Farbe. Ich habe das getestet und es hat funktioniert. Ist das eine Möglichkeit?

    
j08691 29.04.2012 16:03
quelle
2

Ich habe Ihr Setup neu erstellt und dann%% %% %%%%%%%%%%%%%%%%%%%%%%%%% %% %%%%%%%%%%%%%%%%% %%%% co% hinzugefügt Als schnelle Maßnahme habe ich ein script zum body in show.htm hinzugefügt, aber Sie konnten immer ein Handle für das Element finden, ohne einen explizit zugewiesenen Namen zu verwenden.

Es scheint das Problem für das von Ihnen bereitgestellte Dummy-Setup zu lösen, if und nur, wenn name="if1" bis ganz nach oben gescrollt ist. Denke, es ist komisch, trete dem Club bei! Sehen Sie, ob das für die echte Sache funktioniert ... So oder so, es könnte nur ein Schubs in die richtige Richtung sein! :)

%Vor%

Ich habe auch versucht, mit dem folgenden zu experimentieren, bis es Schlafenszeit geworden ist!

%Vor%

Ich habe auch versucht, die Antwort j08691 mithilfe des folgenden Skripts anzuwenden, aber es gab etwas unerwartetes Ergebnisse. Ich habe den <iframe /> positionierten oberen Balken unter anderem nicht fixiert!

%Vor%

Vielleicht existiert es bereits, aber wenn nicht, könnten Sie das als Fehlerbericht für die relevanten Projekte ablegen?

    
bPratik 30.04.2012 00:05
quelle
1

Entfernen Sie den float: left; von Ihrem #body-content css und es wird gut funktionieren.

Dies scheint ein Renderfehler in Chrome zu sein. Wenn Sie sehr langsam rückwärts scrollen, werden Sie feststellen, dass Sie in der Admin-Leiste eine Farbe als Farbe für Ihren iframe erhalten.

Übrigens, Chrome auf OSX rendert genau das gleiche.

    
pms1969 29.04.2012 08:03
quelle
1
%Vor%     
Enve 29.04.2012 15:38
quelle
1

Es würde helfen, eine Live-Demo / Version Ihrer tatsächlichen Website zu erhalten, um gründlichere Tests durchzuführen und den Fehler zu beseitigen.

Jedenfalls konnte ich den Fehler reproduzieren und dann (irgendwie) beheben:

Hier ist die 'Show' CSS:

%Vor%

und Hier ist der Link zu meiner Testseite:

sotkra.com/t_main.html

Last but not least, ja, es ist ein Bug, der durch das Flackern des Scrollens des Iframe-Inhalts gegen das eigentliche Basis-Dokument verursacht wird. Ich habe ähnliche Probleme schon vorher gesehen, aber es gab auch keine Dokumentation darüber. Sie sind nur Rendering Fehler, in der Regel durch weniger als bestimmte CSS oder sehr, sehr seltsame Fälle, in denen niemandes Fehler ist, speichern Sie den Browser.

Prost G

    
Sotkra 01.05.2012 02:24
quelle
1

Die Verwendung eines Farbverlaufs als Hintergrundbild funktioniert auch. Dies ist für mich vorzuziehen, da ich keine Image-Datei erstellen muss und keine zusätzliche Anfrage auf der Client-Seite generiert.

%Vor%     
Ben 05.04.2013 19:01
quelle

Tags und Links