Ich arbeite an einem Projekt, in dem ich ein reaktionsfähiges Raster habe, das ich mit Flex-Wrap-Eigenschaft erreicht habe. Da ich IE9 und niedrigere Versionen von Firefox, Version 28 und darunter unterstütze, wie finde ich heraus, durch Javascript, die Unterstützung für die gleichen. Momentan konnte ich den IE9-Browser nur durch eine bedingte Aussage identifizieren, aber jetzt weiß jemand, wie man für Firefox ältere Versionen durch Javascript erkennt.
Ich weiß nicht, wie Sie es jetzt tun, aber es gibt wirklich keinen Grund, das Rad neu zu erfinden.
Modernizr ( Ссылка ) wurde dafür gebaut und ist eine weit verbreitete Bibliothek für die Feature-Erkennung. Mit Blick auf die CSS-Funktionen unterstützen sie die Erkennung von Flexbox ( Ссылка ) und funktionieren bis zu IE6.
Eine einfache CSS-Eigenschaftserkennungstechnik besteht darin, sie direkt auf einem Element zu testen und zu überprüfen, ob% ce_de% wie folgt zurückgegeben wird,
undefined
.
Die obige Methode prüft direkt auf die Eigenschaft und sollte für die gängigsten Eigenschaften (nicht für flex-wrap) ausreichen.
Sie können etwas mehr Code hinzufügen, um zu überprüfen, ob die Eigenschaft mit den dom-Präfixen
unterstützt wird
Es wird wirklich kompliziert, wenn Sie sich dazu entschließen, das für jede Eigenschaft in allen Browsern zu verallgemeinern. Hier entscheiden wir uns für element.style.<propertyName> != undefined
, das die Unterstützung für die Behandlung von Ausnahmefällen erweitert hat.
Es gibt eine neue CSS-API modernizr
, die einen booleschen Wert zurückgibt um zu überprüfen, ob eine bestimmte CSS-Funktion vom Browser unterstützt wird. Dies ist jedoch eine neue API, daher verwenden wir immer noch Plugins wie CSS.supports
, bis eine Unterstützung für einen älteren Browser benötigt wird.
Verwenden Sie die einfachste Stilerkennung modernizr
oder mit element.style.<property> != undefined
, wenn Ihre Anforderung einfach ist. Sie können es immer ein bisschen mehr als Ihre Notwendigkeit anpassen, aber wenn es kompliziert und umfangreich ist, gehen Sie für domPrefixes
, die Code für Feature-Erkennung erweitert hat.
Erweitern Sie die Antwort von @ AndresTet, wenn Sie keinen vollständigen Build modernizr möchten, können Sie ein gewöhnen Sie sich , oder extrahieren und refaktorieren Sie die relevanten Flexbox-Tests, die wie folgt aussehen:
%Vor%Tags und Links javascript jquery css flexbox