JavaScript學習筆記之檢測客戶端類型是(引擎、瀏覽器、平台、作業系統、行動裝置)_javascript技巧
//取得用户代理字符串 并全部小写。 var ua = navigator.userAgent.toLowerCase(); document.write(ua);
在上篇文章给大家介绍了基于javascript代码检测访问网页的浏览器呈现引擎、平台、Windows操作系统、移动设备和游戏系统
,感兴趣的朋友可以点击全文了解详情。
1、识别呈现引擎
引擎主要包含四种:IE、Gecko、WebKit、Opera
2、识别浏览器
主流浏览器包含四种:IE、Chrome、Firefox、Opera
3、识别平台
主流平台包含三类:Windows、Mac、Unix
4、识别Windows操作系统
Windows操作系统包含:Windows 98、Window NT、Window XP、Window Vista、Windows 7…
5、识别移动设备
主流的移动设备包含三类:iPhone、iPod、Anroid、Nokia
6、识别游戏系统。
主流的游戏系统包含两类:Wii、PS3。
网上发现的比较简单的区分代码:
JavaScript
var ua = navigator.userAgent.toLowerCase(); var isStrict = document.compatMode == "CSS1Compat" isOpera = ua.indexOf("opera") > -1 isChrome = ua.indexOf("chrome") > -1 isSafari = !isChrome && (/webkit|khtml/).test(ua) isSafari3 = isSafari && ua.indexOf('webkit/5') != -1 isIE = !isOpera && ua.indexOf("msie") > -1 isIE7 = !isOpera && ua.indexOf("msie 7") > -1 isIE8 = !isOpera && ua.indexOf("msie 8") > -1 isGecko = !isSafari && !isChrome && ua.indexOf("gecko") > -1 isGecko3 = isGecko && ua.indexOf("rv:1.9") > -1 isBorderBox = isIE && !isStrict isWin7 = ua.indexOf("nt 6.1") > -1 isVista = ua.indexOf("nt 6.0") > -1 isWin2003 = ua.indexOf("nt 5.2") > -1 isWinXp = ua.indexOf("nt 5.1") > -1 isWin2000 = ua.indexOf("nt 5.0") > -1 isWindows = (ua.indexOf("windows") != -1 || ua.indexOf("win32") != -1) isMac = (ua.indexOf("macintosh") != -1 || ua.indexOf("mac os x") != -1) isAir = (ua.indexOf("adobeair") != -1) isLinux = (ua.indexOf("linux") != -1) var sys = ""; var broser = ""; if(isIE){ broser = "IE 6"; }else if(isIE7){ broser = "IE 7"; }else if(isIE8){ broser = "IE 8"; }else if(isOpera){ broser = "Opera"; }else if(isChrome){ broser = "Chrome"; }else if(isSafari){ broser = "Safari"; }else if(isSafari3){ broser = "Safari3"; }else{ broser = "Unknow"; } if(isWin7){ sys = "Windows 7"; }else if(isVista){ sys = "Vista"; }else if(isWinXp){ sys = "Windows xp"; }else if(isWin2003){ sys = "Windows 2003"; }else if(isWin2000){ sys = "Windows 2000"; }else if(isWindows){ sys = "Windows"; }else if(isMac){ sys = "Macintosh"; }else if(isAir){ sys = "Adobeair"; }else if(isLinux){ sys = "Linux"; }else{ sys = "Unknow"; } document.write(ua); alert(sys + ":" + broser);
比较全面的区分代码:
JavaScript
var client = function(){ //呈现引擎 var engine = { ie : 0, gecko : 0, webkit : 0, khtml : 0, opera : 0, //完整的版本号 ver : null }; //浏览器 var browser = { //主要浏览器 ie : 0, firefox : 0, konq : 0, opera : 0, chrome : 0, safari : 0, //具体的版本号 ver : null }; //平台、设备和操作系统 var system ={ win : false, mac : false, xll : false, //移动设备 iphone : false, ipod : false, nokiaN : false, winMobile : false, macMobile : false, //游戏设备 wii : false, ps : false }; //检测呈现引擎和浏览器 var ua = navigator.userAgent; if (window.opera){ engine.ver = browser.ver = window.opera.version(); engine.opera = browser.opera = parseFloat(engine.ver); } else if (/AppleWebKit\/(\S+)/.test(ua)){ engine.ver = RegExp["$1"]; engine.webkit = parseFloat(engine.ver); //确定是Chrome还是Safari if (/Chrome\/(\S+)/.test(ua)){ browser.ver = RegExp["$1"]; browser.chrome = parseFloat(browser.ver); } else if (/Version\/(\S+)/.test(ua)){ browser.ver = RegExp["$1"]; browser.safari = parseFloat(browser.ver); } else { //近似地确定版本号 var safariVersion = 1; if(engine.webkit < 100){ safariVersion = 1; } else if (engine.webkit < 312){ safariVersion = 1.2; } else if (engine.webkit < 412){ safariVersion = 1.3; } else { safariVersion = 2; } browser.safari = browser.ver = safariVersion; } } else if (/KHTML\/(\S+)/.test(ua) || /Konquersor\/([^;]+)/.test(ua)){ engine.ver = browser.ver = RegExp["$1"]; engine.khtml = browser.kong = paresFloat(engine.ver); } else if (/rv:([^\)]+)\) Gecko\/\d{8}/.test(ua)){ engine.ver = RegExp["$1"] engine.gecko = parseFloat(engine.ver); //确定是不是Firefox if (/Firefox\/(\S+)/.test(ua)){ browser.ver = RegExp["$1"]; browser.firefox = pareseFloat(browser.ver); } } else if(/MSIE([^;]+)/.test(ua)){ browser.ver = RegExp["$1"]; browser.firefox = parseFloat(browser.ver); } //检测浏览器 browser.ie = engine.ie; browser.opera = engine.opera; //检测平台 var p = navigator.platform; system.win = p.indexOf("Win") == 0; system.mac = p.indexOf("Mac") == 0; system.x11 = (p == "X11") || (p.indexOf("Linux") == 0); //检测Windows操作系统 if (system.win){ if (/Win(?:doms)?([^do]{2})\s?(\d+\.\d+)?/.test(ua)){ if (RegExp["$1"] == "NT"){ switch(RegExp["$2"]){ case "5.0": system.win = "2000"; break; case "5.1": system.win = "XP"; break; case "6.0": system.win = "Vista"; break; default : system.win = "NT"; break; } } else if (RegExp["$1"]){ system.win = "ME"; } else { system.win = RegExp["$1"]; } } } //移动设备 system.iphone = ua.indexOf("iPhone") > -1; system.ipod = ua.indexOf("iPod") > -1; system.nokiaN = ua.indexOf("NokiaN") > -1; system.winMobile = (system.win == "CE"); system.macMobile = (system.iphone || system.ipod); //游戏系统 system.wii = ua.indexOf("Wii") > -1; system.ps = /playstation/i.test(ua); //返回这些对象 return { engine: engine, browser: browser, system: system }; }()
以上所述是小编给大家介绍的JavaScript学习笔记之检测客户端类型是(引擎、浏览器、平台、操作系统、移动设备)的全部叙述,希望大家喜欢。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

JavaScript是現代Web開發的基石,它的主要功能包括事件驅動編程、動態內容生成和異步編程。 1)事件驅動編程允許網頁根據用戶操作動態變化。 2)動態內容生成使得頁面內容可以根據條件調整。 3)異步編程確保用戶界面不被阻塞。 JavaScript廣泛應用於網頁交互、單頁面應用和服務器端開發,極大地提升了用戶體驗和跨平台開發的靈活性。

JavaScript的最新趨勢包括TypeScript的崛起、現代框架和庫的流行以及WebAssembly的應用。未來前景涵蓋更強大的類型系統、服務器端JavaScript的發展、人工智能和機器學習的擴展以及物聯網和邊緣計算的潛力。

不同JavaScript引擎在解析和執行JavaScript代碼時,效果會有所不同,因為每個引擎的實現原理和優化策略各有差異。 1.詞法分析:將源碼轉換為詞法單元。 2.語法分析:生成抽象語法樹。 3.優化和編譯:通過JIT編譯器生成機器碼。 4.執行:運行機器碼。 V8引擎通過即時編譯和隱藏類優化,SpiderMonkey使用類型推斷系統,導致在相同代碼上的性能表現不同。

Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。

JavaScript是現代Web開發的核心語言,因其多樣性和靈活性而廣泛應用。 1)前端開發:通過DOM操作和現代框架(如React、Vue.js、Angular)構建動態網頁和單頁面應用。 2)服務器端開發:Node.js利用非阻塞I/O模型處理高並發和實時應用。 3)移動和桌面應用開發:通過ReactNative和Electron實現跨平台開發,提高開發效率。

本文展示了與許可證確保的後端的前端集成,並使用Next.js構建功能性Edtech SaaS應用程序。 前端獲取用戶權限以控制UI的可見性並確保API要求遵守角色庫

我使用您的日常技術工具構建了功能性的多租戶SaaS應用程序(一個Edtech應用程序),您可以做同樣的事情。 首先,什麼是多租戶SaaS應用程序? 多租戶SaaS應用程序可讓您從唱歌中為多個客戶提供服務

從C/C 轉向JavaScript需要適應動態類型、垃圾回收和異步編程等特點。 1)C/C 是靜態類型語言,需手動管理內存,而JavaScript是動態類型,垃圾回收自動處理。 2)C/C 需編譯成機器碼,JavaScript則為解釋型語言。 3)JavaScript引入閉包、原型鍊和Promise等概念,增強了靈活性和異步編程能力。
