javascript如何检查移动设备,如手机平台是否支持重力或者方向感应。

  可以使用html5提供的重力和方向感应接口来判断。

  html5 中针对高端手机提供了重力感应和重力加速的接口,开发可以利用这个接口获取到移动设备重力加速感应数据。

  目前已经支持的浏览器只有chrome和firefox,以及IOS的webkit(貌似android上因为版本差异很大,部分低版本的系统不支持)。

引用来源:http://www.pjhome.net/article/Javascript/html5_Orientation.html

  javascript检查移动设备是否支持重力方向感应源代码如下

-收缩HTML代码  运行代码  [如果运行无效果,请自行将源代码保存为html文件运行]
<title>javascript检查移动设备是否支持重力方向感应</title>
<script>
var supportDevicemotion=false,supportOrientation=false;
function orientationListener(e) {
if (e.type == 'devicemotion') {
supportDevicemotion = true;
window.removeEventListener('devicemotion', orientationListener, false);
document.body.appendChild(document.createTextNode('设备支持重力感应|'));
}
else if (e.type == 'deviceorientation' || e.type.toLowerCase() == 'mozorientation') {
supportOrientation = true;
window.removeEventListener('deviceorientation', orientationListener, false);
window.removeEventListener('MozOrientation', orientationListener, false);
document.body.appendChild(document.createTextNode('设备支持方向感应'));
}
}
window.addEventListener('deviceorientation', orientationListener, false); //方向感应器
window.addEventListener('MozOrientation', orientationListener, false); //方向感应器 for firefox
window.addEventListener('devicemotion', orientationListener, false); //重力加速感应器 for iphone, android
</script>

javascript检查移动设备是否支持重力方向感应的更多相关文章

  1. 关于oracle12c对RAW裸设备的支持?

    关于oracle12c对RAW裸设备的支持? 本文内容由ORACLE运维高级群的讨论,有xifenfei前辈提供. 12C对于裸设备的支持和11G R2没有本质区别,在装rac的时候不能使用裸设备,但 ...

  2. JavaScript获取访问设备信息

    <html xmlns=http://www.w3.org/1999/xhtml> <head> <title>JavaScript获取访问设备信息</tit ...

  3. IOS 控制当前控制器支持哪些方向

    #pragma mark - 实现这个方法来控制屏幕方向 /** * 控制当前控制器支持哪些方向 * 返回值是UIInterfaceOrientationMask* */ - (NSUInteger) ...

  4. JavaScript 检查 email 地址的正则表达式

    JavaScript 检查 email 地址的正则表达式​1.代码(1)<html><head><title>Checking an email address - ...

  5. HTML5的设计目的是为了在移动设备上支持多媒体

    HTML5的设计目的是为了在移动设备上支持多媒体

  6. fluent在运行时改变重力方向方法总结

    Fluent版本:19.0(其他版本应该也适用) 这里我们用一个简单的算例(同心环中的自然对流)来说明 算例来自<ANSYS Fluid Dynamics Verification Manual ...

  7. js检查判断设备

    js检查判断设备 var navigatorType = {}; var u=navigator.userAgent; navigatorType.IsIE= u.indexOf('Trident') ...

  8. 【HTML5 】手机重力与方向感应的应用——摇一摇效果

    http://www.helloweba.com/view-blog-287.html HTML5有一个重要特性:DeviceOrientation,它将底层的方向和运动传感器进行了高级封装,它使我们 ...

  9. 思路清奇:通过 JavaScript 获取移动设备的型号

    我们一般在浏览器里识别用户的访问设备都是通过 User Agent 这个字段来获取的,但是通过它我们只能获取一个大概的信息,比如你用的是 Mac 还是 Windows,用的是 iPhone 还是 iP ...

随机推荐

  1. delphi 动态更改屏幕分辨率(转)

    一.如何动态更改屏幕分辨率 有许多小工具可以在不重新启动Windows的条件下,动态更改屏幕分辨率.你是不是也想自己动手做一个呢?请在interface段中加入下面一句 function Resolu ...

  2. NC57银行档案和客商银行账号为建行04 UPDATE

    第二步 银行档案 update bd_bankdoc set bankdoccode='04N'|| bankdoccode , pk_banktype='0001ZZ1000000001OCUD' ...

  3. 【学】React的学习之旅1

    React的学习之旅1 单标签要有斜杠代表结束 用React.createClass()方法时,赋值后的组件名称首字母一定要大写 一定要先定义组件,再用ReactDOM.render调用 组件里ren ...

  4. php 对象中连贯执行方法

    连贯操作的重点是返回当前对象,以便可以继续执行 class Ceshi{ public $str = ''; public function f1($a){ $this->str .= $a; ...

  5. 彻底搞定char/wchar_t/unicode

    彻底搞定char/wchar_t!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! (2013-07-17 10:18:28) 转载▼     从char/wchar_t到TCHAR(1) ...

  6. 考虑virtual函数以外的选择

    在C++中,有四种选择可以替代virtual函数的功能: 1.non-virtual interface(NVI)手法,这是一种template method模式.它以public non-virtu ...

  7. Laravel学习笔记(一)安装配置开发环境

    摘要 Laravel的目标是给开发者创造一个愉快的开发过程,并且不牺牲应用的功能性.快乐的开发者才能创造最棒的代码!为了这个目的,开发者博取众框架之长处集中到Laravel中,这些框架甚至是基于Rub ...

  8. UDP/TCP

    转载地址http://blog.csdn.net/wwmusic/article/details/8875748 Socket  是一套建立在TCP/IP协议上的接口不是一个协议 应用层:  HTTP ...

  9. 十、DG

    1.DG是dependency graph,我认为是依赖图,和DAG(有向无环图)的区别:DAG用来做场景管理,每个node代表的不是tranform就是shape,有父子关系. DG是代表了每个实体 ...

  10. 使用wcf服务捕捉到“POST http://yourIP/WCFService.svc 405 (Method Not Allowed) ”错误!

    在程序中使用了一个wcf服务,调试时无任何问题(win7 64位,iis6.1),发布到部门服务器上没有问题(server2008 64位),但是部署到实际服务器上时(server2008 iis6. ...