【轉(zhuǎn)】JS判斷訪問設(shè)備、客戶端操作系統(tǒng)類型

轉(zhuǎn)載自:http://www.cnblogs.com/duanguyuan/p/3534470.html

判斷當(dāng)前設(shè)備操作系統(tǒng):
<pre>
<html>
<head>
<title>判斷操作系統(tǒng)</title>
<script type="text/javascript">
function detectOS() {
var sUserAgent = navigator.userAgent;

var isWin = (navigator.platform == "Win32") || (navigator.platform == "Windows");
var isMac = (navigator.platform == "Mac68K") || (navigator.platform == "MacPPC") || (navigator.platform == "Macintosh") || (navigator.platform == "MacIntel");
if (isMac) return "Mac";
var isUnix = (navigator.platform == "X11") && !isWin && !isMac;
if (isUnix) return "Unix";
var isLinux = (String(navigator.platform).indexOf("Linux") > -1);

var bIsAndroid = sUserAgent.toLowerCase().match(/android/i) == "android";
if (isLinux) {
if(bIsAndroid) return "Android";
else return "Linux";
}
if (isWin) {
var isWin2K = sUserAgent.indexOf("Windows NT 5.0") > -1 || sUserAgent.indexOf("Windows 2000") > -1;
if (isWin2K) return "Win2000";
var isWinXP = sUserAgent.indexOf("Windows NT 5.1") > -1 ||
sUserAgent.indexOf("Windows XP") > -1;
if (isWinXP) return "WinXP";
var isWin2003 = sUserAgent.indexOf("Windows NT 5.2") > -1 || sUserAgent.indexOf("Windows 2003") > -1;
if (isWin2003) return "Win2003";
var isWinVista= sUserAgent.indexOf("Windows NT 6.0") > -1 || sUserAgent.indexOf("Windows Vista") > -1;
if (isWinVista) return "WinVista";
var isWin7 = sUserAgent.indexOf("Windows NT 6.1") > -1 || sUserAgent.indexOf("Windows 7") > -1;
if (isWin7) return "Win7";
}
return "other";
}
document.writeln("您的操作系統(tǒng)是:" + detectOS());
alert(detectOS());
</script>
</head>
<body>
</body>
</html>
</pre>
判斷當(dāng)前訪問網(wǎng)站的設(shè)備是否是PC
<pre>
//平臺宣蠕、設(shè)備和操作系統(tǒng)
var system ={
win : false,
mac : false,
xll : false
};
//檢測平臺
var p = navigator.platform;
system.win = p.indexOf("Win") == 0;
system.mac = p.indexOf("Mac") == 0;
system.x11 = (p == "X11") || (p.indexOf("Linux") == 0);
//跳轉(zhuǎn)語句
if(system.win||system.mac||system.xll){
alert("PC訪問");
}else{
alert("非PC訪問");
}
</pre>
JS判斷訪問設(shè)備(userAgent)加載不同頁面民效。代碼如下:
<pre>
function browserRedirect() {
var sUserAgent = navigator.userAgent.toLowerCase();
var bIsIpad = sUserAgent.match(/ipad/i) == "ipad";
var bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone os";
var bIsMidp = sUserAgent.match(/midp/i) == "midp";
var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4";
var bIsUc = sUserAgent.match(/ucweb/i) == "ucweb";
var bIsAndroid = sUserAgent.match(/android/i) == "android";
var bIsCE = sUserAgent.match(/windows ce/i) == "windows ce";
var bIsWM = sUserAgent.match(/windows mobile/i) == "windows mobile";
if (! (bIsIpad || bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM)) {
window.location.href = B頁面;
}
}
browserRedirect();
</pre>
JS判斷客戶端操作系統(tǒng)類型(platform)來定義不同的字體表現(xiàn)冕杠。
<pre>
// 更詳細(xì)的探測當(dāng)前客戶端使用的操作系統(tǒng)
function detectOS() {
var sUserAgent = navigator.userAgent;
var isWin = (navigator.platform == "Win32") || (navigator.platform == "Windows");
var isMac = (navigator.platform == "Mac68K") || (navigator.platform == "MacPPC") || (navigator.platform == "Macintosh") || (navigator.platform == "MacIntel"); if (isMac)
return "Mac";
var isUnix = (navigator.platform == "X11") && !isWin && !isMac;
if (isUnix) return "Unix";
var isLinux = (String(navigator.platform).indexOf("Linux") > -1);
if (isLinux) return "Linux";
if (isWin) {
var isWin2K = sUserAgent.indexOf("Windows NT 5.0") > -1 || sUserAgent.indexOf("Windows 2000") > -1;
if (isWin2K) return "Win2000";
var isWinXP = sUserAgent.indexOf("Windows NT 5.1") > -1 || sUserAgent.indexOf("Windows XP") > -1;
if (isWinXP) return "WinXP";
var isWin2003 = sUserAgent.indexOf("Windows NT 5.2") > -1 || sUserAgent.indexOf("Windows 2003") > -1;
if (isWin2003) return "Win2003";
var isWin2003 = sUserAgent.indexOf("Windows NT 6.0") > -1 || sUserAgent.indexOf("Windows Vista") > -1;
if (isWin2003) return "WinVista";
var isWin2003 = sUserAgent.indexOf("Windows NT 6.1") > -1 || sUserAgent.indexOf("Windows 7") > -1;
if (isWin2003) return "Win7";
}
return "other";
}
</pre>
另一種方法谨娜,使用mootools框架:
<pre>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>未命名</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<meta name="generator" content="Geany 0.21" />
</head>
<body>
<h1>test Browser.Platform.linux</h1>
<script type="text/Javascript" language="JavaScript">
var s = null;
s = Browser.Platform.linux;
alert(s);
if (Browser.Platform.linux)
alert("linux");
else
alert("not linux");
</script>
</body>
</html>
</pre>

**使用JS架框有現(xiàn)成的判斷 **
例如motools架框中:
Browser.Platform.mac - (boolean) 當(dāng)前操作系統(tǒng)是否為Mac
Browser.Platform.win - (boolean) 當(dāng)前操作系統(tǒng)是否為Windows
Browser.Platform.linux - (boolean) 當(dāng)前操作系統(tǒng)是否為Linux
Browser.Platform.ipod - (boolean) 當(dāng)前操作系統(tǒng)是否為iPod Touch / iPhone
Browser.Platform.other - (boolean) 當(dāng)前操作系統(tǒng)即不是Mac, 也不是Windows或Linux
Browser.Platform.name - (string) 當(dāng)前操作系統(tǒng)的名稱

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市呕屎,隨后出現(xiàn)的幾起案子让簿,更是在濱河造成了極大的恐慌,老刑警劉巖秀睛,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件拜英,死亡現(xiàn)場離奇詭異,居然都是意外死亡琅催,警方通過查閱死者的電腦和手機(jī)居凶,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來藤抡,“玉大人侠碧,你說我怎么就攤上這事〔颍” “怎么了弄兜?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長瓷式。 經(jīng)常有香客問我替饿,道長,這世上最難降的妖魔是什么贸典? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任视卢,我火速辦了婚禮,結(jié)果婚禮上廊驼,老公的妹妹穿的比我還像新娘据过。我一直安慰自己惋砂,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布绳锅。 她就那樣靜靜地躺著西饵,像睡著了一般。 火紅的嫁衣襯著肌膚如雪鳞芙。 梳的紋絲不亂的頭發(fā)上眷柔,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天,我揣著相機(jī)與錄音原朝,去河邊找鬼驯嘱。 笑死,一個胖子當(dāng)著我的面吹牛竿拆,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播宾尚,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼丙笋,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了煌贴?” 一聲冷哼從身側(cè)響起御板,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎牛郑,沒想到半個月后怠肋,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡淹朋,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年笙各,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片础芍。...
    茶點(diǎn)故事閱讀 38,577評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡杈抢,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出仑性,到底是詐尸還是另有隱情惶楼,我是刑警寧澤,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布诊杆,位于F島的核電站歼捐,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏晨汹。R本人自食惡果不足惜豹储,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望淘这。 院中可真熱鬧颂翼,春花似錦晃洒、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至呻疹,卻和暖如春吃引,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背刽锤。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工镊尺, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人并思。 一個月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓庐氮,卻偏偏與公主長得像,于是被迫代替她去往敵國和親宋彼。 傳聞我的和親對象是個殘疾皇子弄砍,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,452評論 2 348

推薦閱讀更多精彩內(nèi)容