mathefritz: JavaScript/Navigator/userAgent

hat die NavigatorEigenschaft userAgent ein verbindliches Format, ist eine Jahreszahl enthalten?

  1. @@mathefritz

    hat die NavigatorEigenschaft userAgent ein verbindliches Format

    Wofür?

    Wofür auch immer, die Antwort ist (vermutlich): nein.

    ist eine Jahreszahl enthalten?

    In dem meines Browsers nicht.

    Was willst du damit überhaupt? Wofür auch immer du User-Agent nehmen willst, nimm was anderes.

    LLAP 🖖

    --
    “When UX doesn’t consider all users, shouldn’t it be known as ‘Some User Experience’ or... SUX? #a11y” —Billy Gregory
    1. Danke Gunnar

      Was willst du damit überhaupt?

      mit geringstmöglichen Aufwand feststellen ob grid verfügbar ist, unzutreffendes "Nein" in Kauf nehmend.

      1. Hallo

        mit geringstmöglichen Aufwand feststellen ob grid verfügbar ist, unzutreffendes "Nein" in Kauf nehmend.

        Grundsätzlich kannst du das in CSS mit @support tun. Da wir das thema Grid und dessen unterstützung hier auch in einem anderen thread wälzen, solltest du dir marctrix' dortige Antwort zu Gemüte führen. Am Ende des Postings zeigt er, wie man älteren Browser etwas gibt, das sie verstehen und dann den Grid-Code für neuere Browser folgen lässt.

        Tschö, Auge

        --
        Wenn man ausreichende Vorsichtsmaßnahmen trifft, muss man keine Vorsichtsmaßnahmen mehr treffen.
        Toller Dampf voraus von Terry Pratchett
      2. mit geringstmöglichen Aufwand feststellen ob grid verfügbar ist, unzutreffendes "Nein" in Kauf nehmend.

        Völlig wirre Ergebnisse, wie üblich bei so einer "Prüfung", auch in Kauf nehmend?

        Befrage Modernizr nach "cssgrid", siehe https://modernizr.com/download?cssgrid_cssgridlegacy-setclasses

        .no-cssgrid .box { color: red; }
        .cssgrid .box { color: green; }
        

        oder

        if (Modernizr.cssgrid) {
          // supported
        } else {
          // not-supported
        }
        
        
        1. @@Linkfetzer

          Befrage Modernizr nach "cssgrid"

          Nein. Ob CSS-Features verfügbar sind, sollte möglichst mit CSS geprüft werden, nicht mit einer fremden Technologie (JavaScript).

          Wenn man das denn hier überhaupt braucht. Vermutlich nicht.

          LLAP 🖖

          --
          “When UX doesn’t consider all users, shouldn’t it be known as ‘Some User Experience’ or... SUX? #a11y” —Billy Gregory
          1. ... sollte möglichst mit CSS geprüft werden

            ja, Gunnar ( und die modernizr Seite verlangt mir zuviel Blindflug ab )
            und
            das CSS-Mittel ist @supports; aber - ich beziehe mich auf den Artikel in c't 2017/6,
            ältere Browser unterstützen nichteinmal @supports und dann wird es lästig.

            1. @@mathefritz

              das CSS-Mittel ist @supports; aber - ich beziehe mich auf den Artikel in c't 2017/6,
              ältere Browser unterstützen nichteinmal @supports und dann wird es lästig.

              Nein, wird’s nicht, weil „HTML und CSS (im vollen Gegensatz bspw. zu JavaScript) so konzipiert sind, dass Browser, die ein bestimmtes Feature nicht verstehen, keinen Fehler werfen und ihren Dienst quittieren, sondern das Feature (sei es ein unbekanntes HTML-Element oder -Attribut, eine unbekannte CSS-Eigenschaft oder Wert) ignorieren und ihre Arbeit (d.h. die Darstellung der Webseite) fortsetzen.“ (yours truly)

              Das heißt: wenn du

              @supports (display: grid)
              {
                foo { display: grid }
              }
              

              schreibst, ignorieren alte Browser den ganzen Block. Was nicht tragisch ist, da sie mit display: grid sowieso nichts anfangen können. Und da sie damit nichts anfangen können, ignorieren sie auch das; was bedeutet, dass du auch

              foo { display: grid }
              

              schreiben kannst, ohne das in @supports() zu kapseln.

              LLAP 🖖

              --
              “When UX doesn’t consider all users, shouldn’t it be known as ‘Some User Experience’ or... SUX? #a11y” —Billy Gregory
              1. Hallo Gunnar Bittersmann,

                Das heißt: wenn du

                @supports (display: grid)
                {
                  foo { display: grid }
                }
                

                schreibst, ignorieren alte Browser den ganzen Block. Was nicht tragisch ist, da sie mit display: grid sowieso nichts anfangen können. Und da sie damit nichts anfangen können, ignorieren sie auch das; was bedeutet, dass du auch

                foo { display: grid }
                

                schreiben kannst, ohne das in @supports() zu kapseln.

                Nicht unbedingt. Es könnte ja sein, dass man, falls grid unterstützt wird, einen Border auf der rechten Seite haben möchte.

                Bis demnächst
                Matthias

                --
                Rosen sind rot.
                1. @@Matthias Apsel

                  … schreiben kannst, ohne das in @supports() zu kapseln.

                  Nicht unbedingt. Es könnte ja sein, dass man, falls grid unterstützt wird, einen Border auf der rechten Seite haben möchte.

                  Dann kannst du immer noch

                  foo { display: grid }
                  
                  @supports (display: grid)
                  {
                    foo { border-right: thick solid }
                  }
                  

                  schreiben. 😜

                  Macht natürlich wenig Sinn,

                  @supports (display: grid)
                  {
                    foo
                    {
                      display: grid;
                      border-right: thick solid;
                    }
                  }
                  

                  ist übersichtlicher.

                  LLAP 🖖

                  --
                  “When UX doesn’t consider all users, shouldn’t it be known as ‘Some User Experience’ or... SUX? #a11y” —Billy Gregory
              2. ja, oder

                @supports not  (display: grid)
                { ... }
                @supports  (display: grid)
                { ... }
                

                Die entscheidende Frage ist dann aber: geht das auch im body ? Der wäre ja ohne grid ganz anders.

            2. Hallo

              ... sollte möglichst mit CSS geprüft werden ja, Gunnar ( und die modernizr Seite verlangt mir zuviel Blindflug ab )
              und
              das CSS-Mittel ist @supports; aber - ich beziehe mich auf den Artikel in c't 2017/6,
              ältere Browser unterstützen nichteinmal @supports und dann wird es lästig.

              Dass du den Link zu einem richtig einfachen Ausweg, den ich dir anempfohlen habe, so tapfer ignorierst, finde ich schon ärgerlich. Aber selbst wenn du das tust, ist dein Argument mit der fehlenden Unterstützung zumindest zweifelhaft.

              Letzte @support nicht unterstützende Browserversionen laut caniuse.com:

              • IE 11, Verbreitung: 3.34%
              • Firefox 21, Verbreitung: 0.02%
              • Chrome 27, Verbreitung: 0.01%
              • Safari 8, Verbreitung: 0.07%
              • Opera 11.5, Verbreitung: 0
              • iOS Safari 8.4, Verbreitung: 0.12%
              • Android Stock Browser 4.3, Verbreitung: 0.4%
              • Blackberry Browser 10, Verbreitung: 0
              • Opera Mobile 12.1, Verbreitung: 0
              • IE Mobile 11, Verbreitung: 0.32%

              Die folgenden Browser unterstützen grid in ihren aktuellen Versionen nicht: IE 11, Blackberry Browser 10, IE Mobile 11. Diese kommen zusammen auf 3.66% (3.34 + 0 + 0.32). Dabei ist zu berücksichtigen, dass es für den IE 11 Ersatz gibt (Edge oder jeder andere auf Windows verfügbare Browser) und grid auf Smart Phones, wo IE Mobile 11 läuft, nicht die Rolle spielt, die es mittelfristig auf Geräten mit größeren Viewports einnehmen wird. Daher, und weil Browser ihnen nicht bekannte Eigenschaften ignorieren, wie bereits mehrfach erklärt wurde, muss man deswegen dort auch nicht mit @support arbeiten.

              Für alle anderen Browser gilt, dass die letzten Versionen, die @support nicht unterstützen, derart alt sind, dass sie keine oder nur eine verschwindend kleine Rolle spielen.

              Dein Argument zieht also aus mehreren Gründen nicht. Weder haben die Browser, die @support nicht unterstützen, eine relevante Verbreitung, noch musst du überhaupt mit @support arbeiten.

              Tschö, Auge

              --
              Wenn man ausreichende Vorsichtsmaßnahmen trifft, muss man keine Vorsichtsmaßnahmen mehr treffen.
              Toller Dampf voraus von Terry Pratchett
              1. Hallo Auge,

                noch musst du überhaupt mit @support arbeiten.

                Manchmal möchte man aber aus $gründen mit @supports arbeiten. m1695999 f.

                Bis demnächst
                Matthias

                --
                Rosen sind rot.
                1. Hallo

                  noch musst du überhaupt mit @support arbeiten.

                  Manchmal möchte man aber aus $gründen mit @supports arbeiten. m1695999 f.

                  Kann man ja, da wo es funktioniert. Dann gibt's, um bei deinem Beispiel zu bleiben, in ein paar wenigen browsern keinen breiteren Rand. So what?

                  Mir ging es unmittelbar um das fehlerhafte Argument der ungenügenden Unterstützung von @support an sich und mittelbar um die fehlende Notwendigkeit, @support wegen grid zu benutzen.

                  Tschö, Auge

                  --
                  Wenn man ausreichende Vorsichtsmaßnahmen trifft, muss man keine Vorsichtsmaßnahmen mehr treffen.
                  Toller Dampf voraus von Terry Pratchett
                  1. Hallo Auge,

                    Manchmal möchte man aber aus $gründen mit @supports arbeiten. m1695999 f.

                    Kann man ja, da wo es funktioniert. Dann gibt's, um bei deinem Beispiel zu bleiben, in ein paar wenigen browsern keinen breiteren Rand. So what?

                    Deswegen schrieb ich ja möchte. Und das war das erste Beispiel, was mir einfiel.

                    Mir ging es unmittelbar um das fehlerhafte Argument der ungenügenden Unterstützung von @support an sich und mittelbar um die fehlende Notwendigkeit, @support wegen grid zu benutzen.

                    Btw: Die @-Regel heißt "@supports".

                    Bis demnächst
                    Matthias

                    --
                    Rosen sind rot.
                    1. Hallo

                      Mir ging es unmittelbar um das fehlerhafte Argument der ungenügenden Unterstützung von @support an sich und mittelbar um die fehlende Notwendigkeit, @support wegen grid zu benutzen.

                      Btw: Die @-Regel heißt "@supports".

                      Mist! 😉 Da korrigiert man sich einen ab, um fehlende Großschreibung zu ergänzen oder and er falschen Stelle eingefügte Leerzeichen an den rechten Platz zu rücken und dann übersieht man sowas. *grml*

                      Tschö, Auge

                      --
                      Wenn man ausreichende Vorsichtsmaßnahmen trifft, muss man keine Vorsichtsmaßnahmen mehr treffen.
                      Toller Dampf voraus von Terry Pratchett
                      1. Hallo Auge,

                        Mist! 😉 Da korrigiert man sich einen ab, um fehlende Großschreibung zu ergänzen oder and er falschen Stelle eingefügte Leerzeichen an den rechten Platz zu rücken und dann übersieht man sowas. *grml*

                        Spracheingabe?

                        Bis demnächst
                        Matthias

                        --
                        Rosen sind rot.
                        1. Hallo

                          Da korrigiert man sich einen ab, um fehlende Großschreibung zu ergänzen oder and er falschen Stelle eingefügte Leerzeichen an den rechten Platz zu rücken und dann übersieht man sowas. *grml*

                          Spracheingabe?

                          Nein, damit kann ich mich nicht rausreden.

                          Tschö, Auge

                          --
                          Wenn man ausreichende Vorsichtsmaßnahmen trifft, muss man keine Vorsichtsmaßnahmen mehr treffen.
                          Toller Dampf voraus von Terry Pratchett
                          1. @@Auge

                            Spracheingabe?

                            Nein, damit kann ich mich nicht rausreden.

                            Spracheingabe ist denn ja zum Einreden.

                            LLAP 🖖

                            --
                            “When UX doesn’t consider all users, shouldn’t it be known as ‘Some User Experience’ or... SUX? #a11y” —Billy Gregory
              2. @@Auge

                Die folgenden Browser unterstützen grid in ihren aktuellen Versionen nicht: IE 11

                Da CSS Grid ursprünglich von Microsoft stammt, fällt es mir schwer, das zu glauben.

                IE ab 10 und Edge unterstützen Grid – in der ursprünglich von MS implementierten Variante und mit -ms--Präfix.

                LLAP 🖖

                --
                “When UX doesn’t consider all users, shouldn’t it be known as ‘Some User Experience’ or... SUX? #a11y” —Billy Gregory
                1. Hallo

                  Die folgenden Browser unterstützen grid in ihren aktuellen Versionen nicht: IE 11

                  Da CSS Grid ursprünglich von Microsoft stammt, fällt es mir schwer, das zu glauben.

                  Öhhm, ja, da sollte auch „unterstützen @support in ihren aktuellen Versionen nicht“ stehen. Es ging mir vor allem darum, das Argument, nichtmal @support würde von allen Browsern unterstützt, entkräften. Da ist mir die darunter liegende Diskussion um grid dawischen gekommen.

                  IE ab 10 und Edge unterstützen Grid – in der ursprünglich von MS implementierten Variante und mit -ms--Präfix.

                  Tja, dann ist die Riege der Browser, die grid nicht unterstützen und die deshalb mit @support von den dazugehörigen Regeln (nicht) ausgeschlossen werden müssen, noch kleiner geworden.

                  Tschö, Auge

                  --
                  Wenn man ausreichende Vorsichtsmaßnahmen trifft, muss man keine Vorsichtsmaßnahmen mehr treffen.
                  Toller Dampf voraus von Terry Pratchett
                2. @@Gunnar Bittersmann

                  Da CSS Grid ursprünglich von Microsoft stammt, fällt es mir schwer, das zu glauben.

                  IE ab 10 und Edge unterstützen Grid – in der ursprünglich von MS implementierten Variante und mit -ms--Präfix.

                  Und da ich zufällig gerade beim Fernsehen bin: Das sagt Rachel Andrew doch. Where does CSS come from? ab 7:43

                  LLAP 🖖

                  --
                  “When UX doesn’t consider all users, shouldn’t it be known as ‘Some User Experience’ or... SUX? #a11y” —Billy Gregory
        2. @@Linkfetzer

          In deinem Namen ist ein Strich zu viel? Du meintest: Linkſetzer?

          LLAP 🖖

          --
          “When UX doesn’t consider all users, shouldn’t it be known as ‘Some User Experience’ or... SUX? #a11y” —Billy Gregory
          1. Hallo

            In deinem Namen ist ein Strich zu viel? Du meintest: Linkſetzer?

            Wieso? Da kein Link gesetzt worden ist, wäre der Name unzutreffend.

            Tschö, Auge

            --
            Wenn man ausreichende Vorsichtsmaßnahmen trifft, muss man keine Vorsichtsmaßnahmen mehr treffen.
            Toller Dampf voraus von Terry Pratchett