js如何判断当前执行环境是ios webview还是android webview

JavaScript022

js如何判断当前执行环境是ios webview还是android webview,第1张

js如何判断当前执行环境是ios webview还是android webview

<script type=text/javascript>获取UserAgentvar u = navigator.userAgent安卓var isAndroid = u.indexOf('Android') >-1 || u.indexOf('Adr') >-1IOSvar isiOS = !!u.match(/\(i[^]+( U)? CPU.+Mac OS X/)alert('是否是Android:'+isAndroid)alert('是否是iOS:'+isiOS)</script>

内建的是safair,不过用着觉得不怎么好用,手机上装的是手机 浏览器,觉得这个挺好用的,一直在用这个,没出现过啥问题,而且用着也比较顺手。功能挺多的,可以看小说看视讯,我就是用这个看,也没有下载别的软体,可以给手机省下很多地方。你也可以下载用,挺好用的。安装包也不大,不会占用手机太多的地方。

var os = this.os = {}, browser = this.browser = {},

webkit = ua.match(/Web[kK]it[\/]{0,1}([\d.]+)/),

android = ua.match(/(Android)?[\s\/]+([\d.]+)?/),

osx = !!ua.match(/\(Macintosh\Intel /),

ipad = ua.match(/(iPad).*OS\s([\d_]+)/),

ipod = ua.match(/(iPod)(.*OS\s([\d_]+))?/),

iphone = !ipad &&ua.match(/(iPhone\sOS)\s([\d_]+)/),

webos = ua.match(/(webOS|hpwOS)[\s\/]([\d.]+)/),

win = /Win\d{2}|Windows/.test(platform),

wp = ua.match(/Windows Phone ([\d.]+)/),

touchpad = webos &&ua.match(/TouchPad/),

kindle = ua.match(/Kindle\/([\d.]+)/),

silk = ua.match(/Silk\/([\d._]+)/),

blackberry = ua.match(/(BlackBerry).*Version\/([\d.]+)/),

bb10 = ua.match(/(BB10).*Version\/([\d.]+)/),

rimtabletos = ua.match(/(RIM\sTablet\sOS)\s([\d.]+)/),

playbook = ua.match(/PlayBook/),

chrome = ua.match(/Chrome\/([\d.]+)/) || ua.match(/CriOS\/([\d.]+)/),

firefox = ua.match(/Firefox\/([\d.]+)/),

firefoxos = ua.match(/\((?:Mobile|Tablet)rv:([\d.]+)\).*Firefox\/[\d.]+/),

ie = ua.match(/MSIE\s([\d.]+)/) || ua.match(/Trident\/[\d](?=[^\?]+).*rv:([0-9.].)/),

webview = !chrome &&ua.match(/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/),

safari = webview || ua.match(/Version\/([\d.]+)([^S](Safari)|[^M]*(Mobile)[^S]*(Safari))/)

驱动怎么判断当前的执行环境是32位还是64

IsWow64Process确定指定程序是否执行在64位作业系统的32环境(Wow64)下。64位系统 执行64位程式 返回false64位系统 执行32位程式 返回true32位系统 执行64位程式 不能执行32位系统 执行32程式 返回false#include <windows.h> #include <tchar.h> typedef BOOL (WINAPI *LPFN_ISWOW64PROCESS) (HANDLE, PBOOL) LPFN_ISWOW64PROCESS fnIsWow64Process BOOL IsWow64(){BOOL bIsWow64 = FALSE IsWow64Process is not available on all supported versions of Windows.Use GetModuleHandle to get a handle to the DLL that contains the functionand GetProcAddress to get a pointer to the function if available.fnIsWow64Process = (LPFN_ISWOW64PROCESS) GetProcAddress(GetModuleHandle(TEXT("kernel32")),"IsWow64Process") if(NULL != fnIsWow64Process){if (!fnIsWow64Process(GetCurrentProcess(),&bIsWow64)){handle error}}return bIsWow64 }int main( void ){if(IsWow64())_tprintf(TEXT("The process is running under WOW64.\n")) else_tprintf(TEXT("The process is not running under WOW64.\n")) return 0 }

在ios工程中如何判断当前网路环境是IPV6还是IPV4

确认自己使用的网路是否是IPV6网路的方法如下: 1,点选开始,并选择执行。 2,在弹出框输入,cmd,然后按回车。 3,直接输入“ipconfig /all”,然后按回车。 4,找到本地连线的一栏,ip address一栏是纯数字的,就是ipv4。如果是数字加字母组合的,就是ipv6了。 可以参考下图片:

在javascript中,如何判断执行环境?

可以用变数判断,在事件方法执行的开始,设定变数如window.a=1,方法执行完之后window.a=0,这样在这之间有其他事件发生可以通过a得知判断;

如果要实现阻塞,可用while函式或加setInternal方法回圈判断a的值。

android如何判断当前装置是pad还是phone

根据解析度计算萤幕的大致的物理尺寸,以前记得好像是对角线规则什么的,你搜索一下应该有相应的程式码的,不过不是计算的很确定的,应该7寸以上都是平板吧,还要求精确的话你可以结合打电话发简讯的功能,多重判断就更接近理想的结果了。

DisplayMetrics dm = new DisplayMetrics()

getWindowManager().getDefaultDisplay().getMetrics(dm)

double diagonalPixels = Math.sqrt(Math.pow(dm.widthPixels, 2.0)

+ Math.pow(dm.heightPixels, 2.0))

double screenSize = diagonalPixels / (160 * dm.density)

android如何判断当前是横屏还是竖屏

方法一:

DisplayMetrics dm = new DisplayMetrics()

getWindowManager().getDefaultDisplay().getMetrics(dm)

int width = dm.widthPixels

int height = dm.heightPixels

判断宽高那个大

方法二:

if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT)

{ 竖屏

doSomrthing

} else

{

横屏时dosomething

}

?设定:

用这个方法getActivity().getResources().getConfiguration().orientation

1竖屏0横屏

如何判断当前iOS装置

1.在程式中涉及到全屏的宽高的时候,初始化的时候,程式码中不要写320和480

#define Screen_height [[UIScreen mainScreen] bounds].size.height

#define Screen_width [[UIScreen mainScreen] bounds].size.width

2.使用巨集定义方法判断

#define iPhone5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 1136), [[UIScreen mainScreen] currentMode].size) : NO)

if(iPhone5){

/*程式码操作*/

}else{

/*程式码操作*/

}

if([ [ UIDevice currentDevice ] userInterfaceIdiom ] == UIUserInterfaceIdiomPhone ){

IPhone装置

}else{

ipad装置

}

网上还有一种方法:

+ (NSString*)deviceString

{

需要#import "sys/utsname.h"

struct utsname systemInfo

uname(&systemInfo)

NSString *deviceString = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding]

if ([deviceString isEqualToString:@"iPhone1,1"]) return @"iPhone 1G"

if ([deviceString isEqualToString:@"iPhone1,2"]) return @"iPhone 3G"

if ([deviceString isEqualToString:@"iPhone2,1"]) return @"iPhone 3GS"

if ([deviceString isEqualToString:@"iPhone3,1"]) return @"iPhone 4"

if ([deviceString isEqualToString:@"iPhone4,1"]) return @"iPhone 4S"

if ([deviceString isEqualToString:@"iPhone5,2"]) return @"iPhone 5"

if ([deviceString isEqualToString:@"iPhone3,2"]) return @"Verizon iPhone 4"

if ([deviceString isEqualToString:@"iPod1,1"]) return @"iPod Touch 1G"

if ([deviceString isEqualToString:@"iPod2,1"]) return @"iPod Touch 2G"

if ([deviceString isEqualToString:@"iPod3,1"]) return @"iPod Touch 3G"

if ([deviceString isEqualToString:@"iPod4,1"]) return @"iPod Touch 4G"

if ([deviceString isEqualToString:@"iPad1,1"]) return @"iPad"

if ([deviceString isEqualToString:@"iPad2,1"]) return @"iPad 2 (WiFi)"

if ([deviceString isEqualToString:@"iPad2,2"]) return @"iPad 2 (GSM)"

if ([deviceString isEqualToString:@"iPad2,3"]) return @"iPad 2 (CDMA)"

if ([deviceString isEqualToString:@"i386"]) return @"Simulator"

if ([deviceString isEqualToString:@"x86_64"]) return @"Simulator"

NSLog(@"NOTE: Unknown device type: %@", deviceString)

return deviceString

}

/**

* 是否为mac系统

* */

var isMac = function() {

return /macintosh|mac os x/i.test(navigator.userAgent)

}()

/**

* 是否为windows系统

* */

var isWindows = function() {

return /windows|win32/i.test(navigator.userAgent)

}()

/**

* 是否是linux系统

* */

var isLinux = function() {

return /linux/i.test(navigator.userAgent)

}()

alert(isWindows)

javascript中作用域和执行环境不是一个概念

执行环境:执行环境是JS中最重要的一个概念;它定义了变量和函数有权访问的其他数据;

全局执行环境:最外围的一个执行环境,根据ECMAScript实现所在的宿主环境不同而不同,在Web浏览器中,全局执行环境被认为是window对象;

作用域链:当代码在环境中执行时,会创建变量对象的一个作用链;作用域链的作用是保证对执行环境有权访问的所有变量和函数的有序访问;