Feature-Erkennung für Position: behoben

8

Ich versuche ein Skript zu finden, das erkennt, ob ein Gerät position: fixed -Elemente relativ zum ViewPort platziert und nicht zum gesamten Dokument.

Gegenwärtig werden Standard-Desktop-Browser und Mobile Safari (für iOS 5) verwendet, während Android-Geräte die festen Elemente relativ zum gesamten Dokument platzieren.

Ich habe ein paar Tests gefunden, um das zu erkennen, aber keines scheint zu funktionieren:

  • Ссылка Gibt mir ein falsches positives Ergebnis, wenn ich es von einem Android-Gerät übergebe.
  • Ссылка Gibt mir ein falsches Negativ, wenn ich es auf einem iPhone mit iOS 5 übergebe.

Weiß jemand, wo er einen Test findet, der das tatsächlich erkennt? Ich möchte mich nicht auf Browser-Sniffing verlassen.

    
pau.moreno 02.04.2012, 15:54
quelle

3 Antworten

9

Laut den Autoren von Modernizr können Sie dies nicht tun, ohne den verwendeten Browser zu erkennen. Die Mitwirkenden sind in diesem Bereich recht gut etabliert.

Das Testen von position: fixed auf iOS- und Android-Geräten ist in der Wiki-Seite Nicht erkannteWörter im Projekt Modernizr aufgeführt .

Die MobileHTML5-Website listet die Unterstützung für position:fixed auf. Ссылка

    
sirhc 04.04.2012, 23:31
quelle
5

Tatsächlich haben die Jungs von der Filament-Gruppe mit ihrem Fixedfixed eine clevere Sache gemacht, indem sie die User-Agent-Kette bekannter Fehlalarme in ihren Test eingefügt haben.

Überprüfen Sie es @ Ссылка

Jemand könnte es auch mit ein paar falschen Negativen vervollständigen und es zu einem modernen zusätzlichen Test machen.

    
Mister Crimson 26.10.2012 20:15
quelle
1

Ich habe eine weitere Überprüfung erstellt, ob position:fixed wirklich im Browser unterstützt wird. Es erstellt ein festes div und versucht zu scrollen und zu prüfen, ob sich die Position von div geändert hat.

%Vor%

Diese Funktion wurde in Firefox 22, Chrome 28, IE 7-10, Android Browser 2.3 getestet.

    
pulzarraider 14.08.2013 11:03
quelle