2015-10-15 179 views
14

在IE或Microsoft Edge中无法正常使用Parallax。我看过论坛,并没有找到解决问题的办法。现在我已经想出了一个解决方案。如果用户使用IE或Edge,我希望显示一条消息。不知道我怎么能检测到使用的浏览器是一个或两个。如何检测IE和Edge浏览器?

下面是一些JavaScript代码我想一起工作:

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

任何帮助,将不胜感激,或者如果有一个更好的解决方案。

http://peaceandplentyinn.mybnbwebsite.com

+4

忘记的消息,人们不要”不希望被告知使用不同的浏览器访问您的网站。人们需要内容。只要这是可访问的,他们不会介意任何视差缺失。边缘似乎有固定背景的问题,导致他们在滚动上下跳动。不过,我认为这是一个浏览器相关的东西,而不是代码的问题。 – ROAL

+0

更可靠的方法是做功能检测而不是浏览器嗅探。 – Rob

+0

我该如何做此功能检测? –

回答

46

我怀疑你真的需要来检测浏览器。但在这里它是无论如何(不真正需要使用库):

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

我只想向使用IE或Edge的用户显示某种消息。 Parallax在其他浏览器中效果很好:Firefox,Chrome,Safari,Opera。 –

+0

刚刚在边缘检查,并没有做任何事情。 –

+1

更新为边缘 – Reda

1

更好地为我这个:

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; 

转到运行:http://jsfiddle.net/Webnewbie/apa1nvu8/