2017-01-17 3 views
0

Iv'e erkennen bemerkt, dass head.js nicht Microsoft „Edge“ Browser erkennt, und dass nach oben, fügt es falsch chrome und chrome55 Klassen zum <html> Elemente .head.js „Modernizr“ wie Feature nicht ms-edge

Kennt jemand eine gute Möglichkeit, dieses Problem anzugehen? Der beste Ansatz, den ich kommen könnte mit ist diese Überprüfung in meiner App Bootstrap auszuführen - manuell erfassen „Edge“ Browser, fügen Sie entsprechende „ms-edge“ Klasse und entfernen head.js falsch „Chrom“ Klassen:

if (window.navigator.userAgent.indexOf('Edge') > -1) { 
    $('html').removeClass(function(index, classes) { 
     return classes.match(/\bchrome.*?\b/g).join(' '); 
    }).addClass('ms-edge'); 
} 

Antwort

1

Sie sollten etwas dünn verwenden wie diese

var str= window.navigator.userAgent.toString().toLowerCase(); 
// This will return "mozilla/5.0 (windows nt 6.1) applewebkit/537.36 (khtml, like gecko) chrome/55.0.2883.87 safari/537.36" 

in der obigen Zeichenfolge müssen Sie Ihre Bedingungen wie unter

if (str.includes("edge") == true) { 
    $('html').removeClass(function(index, classes) { 
     return classes.match(/\bchrome.*?\b/g).join(' '); 
    }).addClass('ms-edge'); 
} 

Screenshots verschiedenen Test im Browser-Konsole überprüfen.

enter image description here

enter image description here

enter image description here

+0

Dank Aravind, ich war auf der Suche für eine ganze (vielleicht besser) anders aber vielleicht geht sogar auf die Längen der head.js Skript – DotBot

+0

Modifizieren Sie Willst du eine andere Lösung? – Aravind

+0

Ihre Lösung ist gut, nur wundern, wenn es eine andere Herangehensweise an dieses Problem gibt – DotBot

Verwandte Themen