Heim  >  Artikel  >  Web-Frontend  >  Wie kann ich mithilfe von JavaScript überprüfen, ob ein Browser eine CSS-Eigenschaft unterstützt?

Wie kann ich mithilfe von JavaScript überprüfen, ob ein Browser eine CSS-Eigenschaft unterstützt?

WBOY
WBOYnach vorne
2023-08-27 23:09:12854Durchsuche

Übersicht

In der heutigen Welt stehen auf dem System verschiedene Browser zur Verfügung. Daher funktionieren manchmal einige Cascading Style Sheets (C.S.S.)-Eigenschaften in diesem Browser nicht. Um zu überprüfen, welche CSS-Eigenschaften von einem bestimmten Browser unterstützt werden, verfügt JavaScript über die integrierte Methode CSS.supports(), die prüft, ob der Browser diese bestimmte Eigenschaft unterstützt. Die Methode supports() wird in allen Browsern unterstützt: Opera, Edge, Chrome und Firefox.

Grammatik

Die Methode

CSS.supports() verwendet Schlüssel-Wert-Paare als Eingabe, die im String-Format vorliegen. Die verwendete Grundsyntax ist -

CSS.supports(“propertyName:value”);
  • supports() – Dies ist eine Methode des CSS-Objekts, die prüft, ob der Browser die im Support-Parameter übergebene Eigenschaft unterstützt.

  • propertyName – Dies enthält den Namen der CSS-Eigenschaft wie Anzeige, Position, Rand, Abstand, Z-Index, Textausrichtung usw.

  • Wert – Nimmt den Wert einer bestimmten Eigenschaft an, z. B. Flex, absolut, relativ, 20 px, links, rechts usw.

Um mehr über die Methode CSS.Supports() zu erfahren, gehen wir einige Beispiele durch.

Methode 1 – In diesem Beispiel übergeben wir den Schlüsselwert des CSS-Stils direkt als Parameter an die Methode CSS.supports(), die dann bestimmt, ob die angegebene CSS-Eigenschaft von diesem Browser unterstützt wird.

Algorithmus

  • Schritt 1 – Verwenden Sie die im CSS-Objekt als CSS.supports() vorhandene Methode „supports()“.

  • Schritt 2 – Übergeben Sie alle Cascading Style Sheets (CSS)-Eigenschaften als Parameter.

  • Schritt 3 – Drucken Sie die CSS.supports()-Methode in der Konsole mit console.log() aus.

  • Schritt 4 – Wenn bei der Übergabe eines Attributs „true“ zurückgegeben wird, wird dieses bestimmte Attribut unterstützt, andernfalls wird es vom Browser nicht unterstützt.

Beispiel

<!DOCTYPE html>
<html lang="en">
<head>
   <title>Check CSS property exist in browser using js</title>
</head>
   <body>
      <h1>Open console to see result by pressing (ctrl + shift + i) or F12 on keyboard</h1>
      
      <script>
         console.log(CSS.supports("float:top"));
         console.log(CSS.supports("float:right"));
         console.log(CSS.supports("float:bottom"));
         console.log(CSS.supports("float:left"));
      </script>
   </body>
</html>

Ausgabe

Die Ausgabe des obigen Codes ist in der folgenden Abbildung dargestellt. Da die Eigenschaften „float:top“ und „float:bottom“ ungültig sind, geben sie in der Konsole „false“ zurück, während die Eigenschaften „float:right“ und „float:left“ „true“ zurückgeben, wenn sie gültig sind und von unterstützt werden Der Browser.

如何使用 JavaScript 检查浏览器是否支持 CSS 属性?

Methode 2 – Bei dieser Methode erstellen wir eine Benutzeroberfläche, in der Benutzer CSS-Eigenschaften in die angegebenen Felder eingeben und prüfen können, ob ihr Browser oder ihre Browser diese CSS-Eigenschaften unterstützen. NEIN.

Algorithmus

  • Schritt 1 – Erstellen Sie ein Suchfeld mit zwei Suchfeldern, eines für den Schlüssel und eines für den Wert, da CSS-Eigenschaften in Schlüssel-Wert-Form vorliegen. Weisen Sie ihre spezifischen IDs als „propertyName“ bzw. „pval“ zu. Erstellen Sie ein weiteres Ausgabefeld und eine HTML-Schaltfläche.

  • Schritt 2 – Erstellen Sie eine Funktion namens checkCss() in JavaScript. Es werden Pfeilfunktionen verwendet.

  • Schritt 3 – Greifen Sie auf die beiden Eingabefelder zu und speichern Sie sie in Variablen. Verketten Sie die Werte dieser Felder in den Variablen.

  • Schritt 4 – Übergeben Sie diese Verkettungsvariable in CSS.supports() und überprüfen Sie die if-else-Bedingung.

  • Schritt 5 – Wenn „true“ zurückgegeben wird, wird die CSS-Eigenschaft unterstützt, andernfalls wird „false“ zurückgegeben und die Eigenschaft wird nicht unterstützt.

Beispiel

<!DOCTYPE html>
<html lang="en">
<head>
   <title>Check CSS property exist in browser using js</title>
   <style>
      body{
         min-height: 90vh;
         display: flex;
         place-content: center;
         flex-direction: column;
         text-align: center;
         background-color: #0a0a0a;
         color: white;
      }
      input{
         width:13rem;
         margin: 5px auto;
         padding: 0.3rem;
         outline: none;
      }
      button{
         width: 5rem;
         margin: 0 auto;
         padding: 0.2rem;
         cursor: pointer;
         background-color: transparent;
         box-shadow: 0 0 5px white;
         border-radius: 5px;
         color: white;
         border: none;
      }
   </style>
</head>
   <body>
      
      <h1>CSS Property Validator</h1>
      <div id="output" style="width:5rem;margin: 5px auto;padding: 0.2rem;"></div>
      <input type="text" id="propertyName" placeholder="Enter propertyName*">
      <input type="text" id="pval" placeholder="Enter value*">
      <button onclick="checkCss()">Check</button>
      
      <script>
         checkCss = () => {
            var p = document.getElementById("propertyName").value;
            var v = document.getElementById("pval").value;
            var pv = p + ":" + v;
            if(CSS.supports(pv)){
               document.getElementById("output").innerText=CSS.supports(pv);
               document.getElementById("output").style.background="green";
               document.getElementById("output").style.color="white";
            } else {
               document.getElementById("output").innerText=CSS.supports(pv);
               document.getElementById("output").style.background="tomato";
               document.getElementById("output").style.color="white";
            }   
         }
      </script>
   </body>
</html>

Ausgabe

Die Ausgabe des obigen Codes ist wie in der Abbildung unten dargestellt. Benutzer können CSS-Eigenschaften in das angegebene Eingabefeld eingeben und prüfen, ob Ihr Browser diese Eigenschaften unterstützt. Wie in der Abbildung unten gezeigt, wird das Attribut „display:block“ unterstützt vom Browser und ist gültig, es gibt true zurück.

如何使用 JavaScript 检查浏览器是否支持 CSS 属性?

Die Ausgabe ist wie in der folgenden Abbildung dargestellt und es wird false zurückgegeben, sodass die im Eingabefeld eingegebenen Attribute ungültig sind und vom Browser nicht unterstützt werden.

如何使用 JavaScript 检查浏览器是否支持 CSS 属性?

Fazit

Der Rückgabetyp der

supports()-Methode ist Boolean, da er true oder false zurückgibt, je nachdem, ob der aktuelle Browser die CSS-Eigenschaft unterstützt. Die Benutzeroberfläche von Beispiel 2 ist besonders nützlich für Entwickler, da sie die wiederholte Überprüfung der Konsole überflüssig macht. Geben Sie einfach den Namen und Wert Ihrer CSS-Eigenschaft in die Eingabefelder ein und Sie werden darüber informiert, ob der aktuelle Browser dies unterstützt.

Das obige ist der detaillierte Inhalt vonWie kann ich mithilfe von JavaScript überprüfen, ob ein Browser eine CSS-Eigenschaft unterstützt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen