JS獲得瀏覽器版本和操作系統(tǒng)版本的例子
于是,我們可以寫出下面的代碼:
var Sys = {};
var ua = navigator.userAgent.toLowerCase();
var s;
(s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] :
(s = ua.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] :
(s = ua.match(/chrome\/([\d.]+)/)) ? Sys.chrome = s[1] :
(s = ua.match(/opera.([\d.]+)/)) ? Sys.opera = s[1] :
(s = ua.match(/version\/([\d.]+).*safari/)) ? Sys.safari = s[1] : 0;
//以下進(jìn)行測(cè)試
if (Sys.ie) document.write('IE: ' + Sys.ie);
if (Sys.firefox) document.write('Firefox: ' + Sys.firefox);
if (Sys.chrome) document.write('Chrome: ' + Sys.chrome);
if (Sys.opera) document.write('Opera: ' + Sys.opera);
if (Sys.safari) document.write('Safari: ' + Sys.safari);
</script>
其中,采用了 三元運(yùn)算符 這樣的判斷表達(dá)式來(lái)精簡(jiǎn)代碼。判斷條件是一條賦值語(yǔ)句,既完成正則表達(dá)式的匹配及結(jié)果復(fù)制,又直接作為條件判斷。而隨后的版本信息只需從前面的匹配結(jié)果中提取即可,這是非常高效的代碼。
今后,判斷某種瀏覽器只需用if(Sys.ie)或if(Sys.firefox)等形式,而判斷瀏覽器版本只需用if(Sys.ie == '8.0')或if(Sys.firefox == '3.0')等形式,表達(dá)起來(lái)還是非常優(yōu)雅的。
獲得操作系統(tǒng)版本:
//用于獲取系統(tǒng)版本(注意:本方法對(duì)Firefox、Chrome無(wú)效)
var ua = window.navigator.userAgent;
var osVersion = ua.split(";")[2];
var osV = osVersion.substr(osVersion.length-3,3);
switch(osV)
{
case "5.0":
document.write("Windows2000");
break;
case "5.1":
document.write("WindowsXP");
break;
case "5.2":
document.write("Windows2003");
break;
case "6":
document.write("Windows Vista");
break;
case "6.1":
document.write("Windows 7");
break;
default:
document.write("Others");
}
</script>
相關(guān)文章
JS 動(dòng)態(tài)判斷PC和手機(jī)瀏覽器實(shí)現(xiàn)代碼
這篇文章主要介紹了JS 動(dòng)態(tài)判斷PC和手機(jī)瀏覽器實(shí)現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下2016-09-09uniapp使用navigateBack方法返回上級(jí)頁(yè)面并刷新的簡(jiǎn)單示例
最近寫uniapp項(xiàng)目的時(shí)候發(fā)現(xiàn)有時(shí)候需要更新頁(yè)面數(shù)據(jù),所以下面這篇文章主要給大家介紹了關(guān)于uniapp使用navigateBack方法返回上級(jí)頁(yè)面并刷新的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-03-03微信小程序多文件上傳 Tdesign及導(dǎo)入失敗問(wèn)題
小程序文件上傳還是有點(diǎn)麻煩的,其實(shí)主要還是小程序?qū)Φ慕涌谟兄T多的不便,比如說(shuō),文件不能批量提交,只能一個(gè)個(gè)的提交,小程序的上傳需要專門的接口,這篇文章主要介紹了微信小程序多文件上傳 Tdesign及導(dǎo)入失敗問(wèn)題,需要的朋友可以參考下2023-11-11小程序按鈕避免多次調(diào)用接口和點(diǎn)擊方案實(shí)現(xiàn)(不用showLoading)
這篇文章主要介紹了小程序按鈕避免多次調(diào)用接口和點(diǎn)擊方案實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04整理關(guān)于Bootstrap模態(tài)彈出框的慕課筆記
這篇文章主要為大家整理了關(guān)于Bootstrap模態(tài)彈出框的慕課筆記,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03