2014-02-08 59 views
0

有沒有辦法確定某人正在使用的瀏覽器版本(哪個瀏覽器),以及他們是否正在使用屏幕閱讀器?告訴正在使用什麼版本的瀏覽器+是否正在使用屏幕閱讀器

我正在爲每個人製作一個網站。我正在考慮爲「第一世界」國家制作超酷的JS/AJAX/PHP網站,併爲「第三世界」製作純粹的HTML-CSS。

我需要告訴瀏覽器和瀏覽器使用的是什麼版本,以便我知道要加載哪個站點,以及能夠看到用戶是否使用某種屏幕閱讀器。這樣服務器就可以加載超酷網站,或者爲無效網站添加基本的適用於屏幕閱讀器的網站。

我在PHP/JS有很好的知識基礎,但不知道如何解決這個問題。

謝謝:)

+0

第三世界國家沒有的JavaScript ? – LifeQuery

回答

2

您可以使用導航器對象來檢測客戶端的瀏覽器。因爲我們不能總是信任用戶代理。

的JavaScript部分:

var nVer = navigator.appVersion; 
var nAgt = navigator.userAgent; 
var browserName = navigator.appName; 
var fullVersion = ''+parseFloat(navigator.appVersion); 
var majorVersion = parseInt(navigator.appVersion,10); 
var nameOffset,verOffset,ix; 

// In Opera, the true version is after "Opera" or after "Version" 

if ((verOffset=nAgt.indexOf("Opera"))!=-1) { 
browserName = "Opera"; 
fullVersion = nAgt.substring(verOffset+6); 
if ((verOffset=nAgt.indexOf("Version"))!=-1) 
    fullVersion = nAgt.substring(verOffset+8); 
} 
// In MSIE, the true version is after "MSIE" in userAgent 

else if ((verOffset=nAgt.indexOf("MSIE"))!=-1) { 
browserName = "Microsoft Internet Explorer"; 
fullVersion = nAgt.substring(verOffset+5); 
} 
// In Chrome, the true version is after "Chrome" 

else if ((verOffset=nAgt.indexOf("Chrome"))!=-1) { 
browserName = "Chrome"; 
fullVersion = nAgt.substring(verOffset+7); 
} 
// In Safari, the true version is after "Safari" or after "Version" 

else if ((verOffset=nAgt.indexOf("Safari"))!=-1) { 
browserName = "Safari"; 
fullVersion = nAgt.substring(verOffset+7); 
if ((verOffset=nAgt.indexOf("Version"))!=-1) 
    fullVersion = nAgt.substring(verOffset+8); 
} 
// In Firefox, the true version is after "Firefox" 

else if ((verOffset=nAgt.indexOf("Firefox"))!=-1) { 
browserName = "Firefox"; 
fullVersion = nAgt.substring(verOffset+8); 
} 
// In most other browsers, "name/version" is at the end of userAgent 

else if ((nameOffset=nAgt.lastIndexOf(' ')+1) < 
      (verOffset=nAgt.lastIndexOf('/'))) 
{ 
browserName = nAgt.substring(nameOffset,verOffset); 
fullVersion = nAgt.substring(verOffset+1); 
if (browserName.toLowerCase()==browserName.toUpperCase()) { 
    browserName = navigator.appName; 
} 
} 

// trim the fullVersion string at semicolon/space if present 

if ((ix=fullVersion.indexOf(";"))!=-1) 
    fullVersion=fullVersion.substring(0,ix); 
if ((ix=fullVersion.indexOf(" "))!=-1) 
    fullVersion=fullVersion.substring(0,ix); 

majorVersion = parseInt(''+fullVersion,10); 
if (isNaN(majorVersion)) { 
fullVersion = ''+parseFloat(navigator.appVersion); 
majorVersion = parseInt(navigator.appVersion,10); 
} 

document.write('' 
+'Browser name = '+browserName+'<br>' 
+'Full version = '+fullVersion+'<br>' 
+'Major version = '+majorVersion+'<br>' 
+'navigator.appName = '+navigator.appName+'<br>' 
+'navigator.userAgent = '+navigator.userAgent+'<br>' 
) 

看到這裏演示.. http://jsfiddle.net/hw4jM/3/

關於屏幕閱讀器有在這裏計算器一個更好的答案.. https://stackoverflow.com/a/7712758/3222041

+0

非常感謝:) :)喜歡認真,謝謝ALOT :) –

+0

嗨@EmirMasic很高興聽到這對你有幫助.. – newTag

相關問題