2015-10-15 22 views
14

Nie można uzyskać poprawnego działania Parallax w IE lub Microsoft Edge. Sprawdziłem na forach i nie znalazłem rozwiązania tego problemu. Przyszedłem z miejmy nadzieję, rozwiązaniem na razie. Chcę, aby pojawił się komunikat, jeśli użytkownik korzysta z IE lub Edge. Nie wiem, jak mogę wykryć, że używana przeglądarka jest jedną z nich.Jak wykryć przeglądarkę IE i Edge?

Oto kod javascript Próbuję pracować z:

<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'); 
} 

Każda pomoc będzie mile widziane czy istnieje lepsze rozwiązanie.

http://peaceandplentyinn.mybnbwebsite.com

+4

Zapomnij wiadomość, ludzie don” t chcesz otrzymywać informacje o korzystaniu z innej przeglądarki w celu uzyskania dostępu do Twojej witryny. Ludzie chcą treści. Dopóki jest to dostępne, nie będą mieli nic przeciwko utracie paralaksy. Wygląda na to, że Edge ma problemy ze stałym tłem, co powoduje, że przeskakują w górę iw dół podczas przewijania. Myślę jednak, że jest to kwestia związana z przeglądarką, a nie problem z kodem. – ROAL

+0

Bardziej niezawodnym sposobem byłoby wykrywanie cech, a nie podsłuchiwanie przeglądarki. – Rob

+0

Jak mogę wykryć te funkcje? –

Odpowiedz

46

Wątpię, naprawdę trzeba wykryć przeglądarkę. Ale tutaj jest to w każdym razie (nie naprawdę trzeba użyć biblioteki):

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

Chcę tylko wyświetlić wiadomość dla użytkowników korzystających z IE lub Edge. Parallax działa świetnie w innych przeglądarkach: Firefox, Chrome, Safari, Opera. –

+0

właśnie sprawdziłem Edge i to nic nie dało. –

+1

zaktualizowano dla krawędzi – Reda

1

Dla mnie to lepiej:

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 run: http://jsfiddle.net/Webnewbie/apa1nvu8/

Powiązane problemy