JSのオペレーティングシステムを決定
その他
2019-05-26 21:44:45
訪問数: null
図1は、決定されたモバイルエンドシステムJS
- VARのuserAgent = navigator.userAgent。
- VAR isAndroid = userAgent.indexOf( 'アンドロイド')> -1 || userAgent.indexOf( 'Adrの')> -1; //アンドロイド终端
- VAR isIOS = !! userAgent.match(/ \(I [^;] +;(U;?。)CPU +のMac OS X /); // IOS终端
2は、PCかどうかを判断JS
- 機能ispCと(){
- VARのuserAgent = navigator.userAgent。
- VARエージェント= [ "アンドロイド"、 "iPhone"、 "SymbianOS"、 "Windowsの携帯電話"、 "アプリ"、 "iPodの"];
- フラグ=真でした。
- 用(VARのV = 0; V <Agents.length; V ++){
- IF(userAgent.indexOf(エージェント[V])> 0){
- フラグ= falseは、
- ブレーク;
- }
- }
- フラグを返します。
- }
3、内蔵されたかどうかをブラウザに決定JS微信
- 関数isWeiXin(){
- VARのuserAgent = window.navigator.userAgent.toLowerCase()。
- IF(userAgent.match(/ MicroMessenger / I)== 'micromessenger'){
- trueを返します。
- }他{
- falseを返します。
- }
- }
図4は、IEブラウザか否かを判断し、対応するステータスを返すJS
- 機能IEVersion(){
- VARのuserAgent = navigator.userAgent; //文字列行わブラウザのuserAgent
- > VAR isIE = userAgent.indexOf( "互換性")-1 && userAgent.indexOf( "MSIE")> -1; //が決定IE <11ブラウザか
- VAR isEdge = userAgent.indexOf( "エッジ")> -1 && isIE ;! //は、IEブラウザのエッジか否かが判断されます
- VAR isIE11 = userAgent.indexOf( 'トライデント')> -1 && userAgent.indexOf( "RV:11.0")> -1;
- IF(Isie){
- VAR REIE =新しい正規表現( "MSIE(\\ D + \\ \\ D +);");
- reIE.test(userAgentに)。
- VaRのfIEVersion = parseFloatは(正規表現[ "$ 1"]);
- IF(fIEVersionの== 7){
- 7を返します。
- }そうであれば(fIEVersionの== 8){
- 8を返します。
- }そうであれば(fIEVersionの== 9){
- 9を返します。
- }そうであれば(fIEVersionの== 10){
- 10を返します。
- }他{
- リターン6; // IEバージョン<= 7
- }
- }そうなら(isEdge){
- リターン「エッジ」; //エッジ
- }そうであれば(isIE11){
- 11を返します。// IE11
- }他{
- 返す-1; //すなわちないブラウザ
- }
- }
5、JSブラウザカーネルを決定
- VAR browserInfo = {
- バージョン:関数(){
- VARのuserAgent = navigator.userAgent、
- appversion =はnavigator.appVersion。
- {戻ります
- トライデント:userAgent.indexOf( 'トライデント')> -1、// IEコア
- すぐに:userAgent.indexOf( 'プレスト')> -1は、//動作内核
- WebKitの:userAgent.indexOf( 'のAppleWebKit')> -1、//アップル、グーグルカーネル
- ヤモリ:userAgent.indexOf( 'ゲッコー')> -1 && userAgent.indexOf( 'KHTML')== -1、//カーネルのFirefox
- モバイル:!! userAgent.match(/AppleWebKit.*Mobile * /。)、//携帯端末かどうか
- ios: !!userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
- android: userAgent.indexOf('Android') > -1 || userAgent.indexOf('Adr') > -1, //android终端
- iPhone: userAgent.indexOf('iPhone') > -1 , //是否为iPhone或者QQHD浏览器
- iPad: userAgent.indexOf('iPad') > -1, //是否iPad
- webApp: userAgent.indexOf('Safari') == -1, //是否web应该程序,没有头部与底部
- weixin: userAgent.indexOf('MicroMessenger') > -1, //是否微信 (2015-01-22新增)
- qq: userAgent.match(/\sQQ/i) == " qq" //是否QQ
- };
- },
- language:(navigator.browserLanguage || navigator.language).toLowerCase()
- }
6、js判断客户端操作系统
- function detectOS() {
- var userAgent = 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 = userAgent.indexOf("Windows NT 5.0") > -1 || userAgent.indexOf("Windows 2000") > -1;
- if (isWin2K) return "Win2000";
- var isWinXP = userAgent.indexOf("Windows NT 5.1") > -1 || userAgent.indexOf("Windows XP") > -1;
- if (isWinXP) return "WinXP";
- var isWin2003 = userAgent.indexOf("Windows NT 5.2") > -1 || userAgent.indexOf("Windows 2003") > -1;
- if (isWin2003) return "Win2003";
- var isWinVista= userAgent.indexOf("Windows NT 6.0") > -1 || userAgent.indexOf("Windows Vista") > -1;
- if (isWinVista) return "WinVista";
- var isWin7 = userAgent.indexOf("Windows NT 6.1") > -1 || userAgent.indexOf("Windows 7") > -1;
- if (isWin7) return "Win7";
- }
- return "other";
- }
- document.writeln("您的操作系统是:" + detectOS());
|
|
|
|
|
転載: www.cnblogs.com/min-yu/p/10927667.html