2015-10-15 180 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/