Heim > php教程 > PHP开发 > Hauptteil

Verschiedene Methoden für JavaScript, um festzustellen, ob der Browser CSS3-Attribute unterstützt

高洛峰
Freigeben: 2016-12-07 10:00:55
Original
1179 Leute haben es durchsucht

Vorwort

Das Aufkommen von CSS3 hat die Leistung von Browsern bunter gemacht. Der größte Einfluss auf die Leistung ist die Animation. Beim täglichen Schreiben von Animationen muss im Voraus festgestellt werden, ob dies der Fall ist Der Browser unterstützt es, insbesondere als ich eine CSS3-Animationsbibliothek schrieb. Beispielsweise wird der Übergangsanimations-Play-State nur von einigen Browsern unterstützt.

Die folgende Methode kann mithilfe eines Skripts ermitteln, ob der Browser ein bestimmtes CSS3-Attribut unterstützt:

Die erste Methode: Javascript verwendet üblicherweise den folgenden Code:

var support_css3 = (function() {
 var div = document.createElement('div'),
  vendors = 'Ms O Moz Webkit'.split(' '),
  len = vendors.length;
  
 return function(prop) {
  if ( prop in div.style ) return true;
  
  prop = prop.replace(/^[a-z]/, function(val) {
   return val.toUpperCase();
  });
  
  while(len--) {
   if ( vendors[len] + prop in div.style ) {
   return true;
   }
  }
  return false;
 };
})();
Nach dem Login kopieren

Verwendung: Überprüfen Sie, ob Transformation unterstützt wird

if(support_css3('transform')){
 
}else{
 
}
Nach dem Login kopieren

Zweitens: JavaScript-Methode 2: ie6 wird nicht unterstützt

function isPropertySupported(property)
{
 return property in document.body.style;
}
Nach dem Login kopieren

Verwendung:

Beachten Sie die oben genannten Attribute und verwenden Sie „backgroundColor“, um die Hintergrundfarbe zu ersetzen

if(isPropertySupported('opacity')){
 
}else{
 
}
Nach dem Login kopieren

Drittens: CSS.supports

CSS.supports ist eine besondere Regel unter den CSS3-@support-Regeln. Jede, die @support-Regeln unterstützt, unterstützt Folgendes Funktion (Diese Methode wird nicht empfohlen. Schließlich ist @support auch kompatibel. Einige Browser unterstützen möglicherweise eines der CSS3-Attribute, jedoch nicht @support)

//pass the same string as you pass to the @supports rule
if(CSS.supports("(background-color: red) and (color:white"))
{
 document.body.style.color = "white";
 document.body.style.backgroundColor = "red";
}
Nach dem Login kopieren

Lassen Sie uns abschließend eine Funktion teilen, um zu bestimmen, ob der Browser bestimmte HTML5-Attribute unterstützt, z. B. ob das Eingabeattribut Palaceholder unterstützt.

function elementSupportsAttribute(element, attribute) {
 var test = document.createElement(element);
 if (attribute in test) {
 return true;
 } else {
 return false;
 }
};
Nach dem Login kopieren

Verwendung :

if (elementSupportsAttribute("textarea", "placeholder") {
 
} else {
 // fallback
}
Nach dem Login kopieren


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage