2015-10-15 11 views
14

Parallax funktioniert nicht ordnungsgemäß in IE oder Microsoft Edge. Ich habe in Foren gesucht und habe keine Lösung für das Problem gefunden. Ich habe mir für den Moment hoffentlich eine Lösung ausgedacht. Ich möchte eine Nachricht anzeigen, wenn der Benutzer IE oder Edge verwendet. Ich bin mir nicht sicher, wie ich feststellen kann, dass der verwendete Browser der eine oder der andere ist.Wie erkenne ich IE und Edge Browser?

Hier einige Javascript-Code Ich versuche, mit zu arbeiten: würde geschätzt

<script src="https://github.com/ded/bowser/blob/master/src/bowser.js"></script> 

    // Determine Browser Used 
browser = require('bowser').browser; becomes browser = require('bowser'); 
if (bowser.msie || bowser.msedge) { 
    alert('Hello Microsoft User'); 
} 

Jede Hilfe oder wenn es eine bessere Lösung ist.

http://peaceandplentyinn.mybnbwebsite.com

+4

Vergessen Sie die Nachricht, die Menschen don‘ Ich möchte, dass Sie aufgefordert werden, einen anderen Browser für den Zugriff auf Ihre Website zu verwenden. Leute wollen Inhalt. Solange dies möglich ist, werden sie keine Parallaxe verpassen. Edge scheint Probleme mit festen Hintergründen zu haben, die beim Scrollen auf und ab springen. Ich denke jedoch, es ist eine browserbezogene Sache, kein Problem Ihres Codes. – ROAL

+0

Ein zuverlässigerer Weg wäre die Erkennung von Funktionen anstelle von Browser-Sniffing. – Rob

+0

Wie mache ich diese Feature-Erkennung? –

Antwort

46

Ich bezweifle, die Sie wirklich brauchen, den Browser zu erkennen. Aber hier ist es sowieso (nicht wirklich brauchen, um eine Bibliothek verwenden):

// detect IE8 and above, and edge 
if (document.documentMode || /Edge/.test(navigator.userAgent)) { 
    alert('Hello Microsoft User!'); 
} 
+0

Ich möchte nur eine Art von Nachricht für Benutzer anzeigen, die IE oder Edge verwenden. Der Parallax funktioniert auch in anderen Browsern: Firefox, Chrome, Safari, Opera. –

+0

nur in Edge eingecheckt und das hat nichts getan. –

+1

aktualisiert für Kante – Reda

1

besser für mich dies:

var uA = window.navigator.userAgent, 
    isIE = /msie\s|trident\/|edge\//i.test(uA) && !!(document.uniqueID || document.documentMode || window.ActiveXObject || window.MSInputMethodContext), 
    checkVersion = (isIE && +(/(edge\/|rv:|msie\s)([\d.]+)/i.exec(uA)[2])) || NaN; 

Go laufen: http://jsfiddle.net/Webnewbie/apa1nvu8/