HTML5 Device Access (设备访问)

camera api (含图片预览)

参考地址

  • 主要为利用input type=file, accept="image/*" 进行处理
  • 图片预览方式(两种)
const file = e.target.files[0]
// 方式1
const url1 = window.URL.createObjectURL(file);
let url2

// 方式2
const reader = new FileReader();
reader.onload = (e) => {
    url2 = e.target.result;
};
reader.readAsDataURL(file);

touch events (触屏事件)

参考地址

  • touchstart
  • touchen
  • touchcancel 电话的接入或者弹出信息等比较高级的事件触发,一般做保存操作
  • touchmove

geolocation

参考地址

  • 注意谷歌浏览器要https才能提供定位服务
    if (navigator.geolocation){
        navigator.geolocation.getCurrentPosition((position) => {
            this.geolocation = `latitude:${position.coords.latitude},longitude:${position.coords.longitude}`
        }, (err) => {
            console.log(err);
        }, {
                enableHighAccuracy: true,
                maximumAge        : 30000,  // buffer memory timre
                timeout           : 27000   // waiting time
        })
    } else {
        alert(‘geolocation not supported!‘)
    }

device orientation and motion

参考地址

    window.addEventListener(‘deviceorientation‘,(doe) => {
        this.absolute = doe.absolute //false 表示方向数据由设备本身坐标系提供
        this.alpha = doe.alpha // 绕Z轴0-360 进入时手机水平正对的方向为0或360
        this.beta = doe.beta // 绕X轴-180~180 描述由前向后旋转
        this.gamma = doe.gamma // 绕Y轴-90~90 描述由左向右旋转
    }, true)

    // chrome v65 只支持accelerationIncludingGravity和interval(应该因为一些限制没有找到),其它浏览器最新版基本都支持
    window.addEventListener(‘devicemotion‘, (dme) => {
        this.acceleration = dme.acceleration
        this.accelerationIncludingGravity = dme.accelerationIncludingGravity
        this.rotationRate = dme.rotationRate
        this.interval  = dme.interval
    }, false)

Pointer Lock(鼠标锁定)

参考地址

    <button onclick="lockPointer();">锁住它!</button>
    <div id="pointer-lock-element" style="width:500px;height:500px;background-color: red"></div>

    // 简单示例,将鼠标锁定在 pointer-lock-element 元素内
    let = document.getElementById("pointer-lock-element");

    document.addEventListener("mousemove", function(e) {
        var movementX = e.movementX
            movementY = e.movementY

        // 打印鼠标移动的增量值。
        console.log("X=" + movementX, "Y=" + movementY);
    }, false);

    function lockPointer() {
        elem = document.getElementById("pointer-lock-element");
        elem.requestPointerLock = elem.requestPointerLock    ||
                            elem.mozRequestPointerLock ||
                            elem.webkitRequestPointerLock;
        elem.requestPointerLock();
    }

原文地址:https://www.cnblogs.com/he-wei/p/9080149.html

时间: 2024-10-17 10:31:22

HTML5 Device Access (设备访问)的相关文章

HTML5+规范:device(管理设备信息)

Device模块管理设备信息,用于获取手机设备的相关信息,如IMEI.IMSI.型号.厂商等.通过plus.device获取设备信息管理对象. 1.属性 1.1.imei: 设备的国际移动设备身份码,调用此属性获取设备的国际移动设备身份码. 如果设备不支持则返回空字符串. 平台支持:Android - 2.2+ (支持),iOS - 4.5+ (不支持): iOS设备不支持获取imei值,返回空字符串. 示例: <!DOCTYPE html> <html> <head>

Linux硬件设备访问

一.mmap设备操作 1.mmap系统调用 void *mmap(void * addr, size_t len, int prot, int flags, int fd, off_t offset) 返回值:内存映射的首地址(虚拟映射区首地址). 功能:内存映射函数mmap,负责把文件内容映射到进程的虚拟内存空间,通过对这段内存的读取和修改(使用指针),来实现对文件的读取和修改,而不需要再调用read,write等操作.实际上内核和应用程序都是使用的虚拟地址,我们不会对物理地址直接操作,而是通

第十四单元 linux中的设备访问

第十四单元 linux中的设备访问 一 设备访问 1 设备识别 /dev/xdxn:硬盘设备/dev/sda1 /dev/cdrom:光驱 /dev/mapper/*:虚拟设备 2.设备的使用 查看设备: fdisk -l:查看真实存在的设备 cat /proc/partitions:系统能够识别的设备 blkid:系统能够挂载使用的设备id df:查看设备被系统使用的情况 设备挂载: mount 设备挂载点 mount /dev/sdb1/mnt#把系统中第二块硬盘的第一个分区挂载到/mnt目

设备访问机制------总结

1. 设备访问机制用来处理设备访问中遇的问题,比如访问时的资源不可获得时应如何处理. 2. 不可获得时可以对进程阻塞休眠,可循环查询资源可用状态,或通过信号通知机制得知处理完成. 3. 对设备的具体访问操作读.写,可以与访问机制相结合,进行更完善的处理.

javaweb:判断当前请求是否为移动设备访问

这段时间都是在做pc端的业务,结果经理找到我说,可能要做移动端的应用,后台逻辑还是用我写的逻辑,但是需要改动一些,看看怎么处理. 由于移动端和pc端还是稍微有些区别的,我觉得最好是在一个地儿统一判断,而且不要改动原先的代码,这样可以从一定程度上减少bug的数量.我的想法是首先应该判断当前请求是否为移动端,然后设一个标识到session中,然后就可以随便处理了.不管你是单独处理,还是统一处理,直接读取session就可以做相应的判断了. 我封装成了一个类,现在分享给大家: package com.

javaweb判断当前请求是否为移动设备访问的方法

由于移动端和pc端还是稍微有些区别的,我觉得最好是在一个地儿统一判断,而且不要改动原先的代码,这样可以从一定程度上减少bug的数量.我的想法是首先应该判断当前请求是否为移动端,然后设一个标识到session中,然后就可以随便处理了.不管你是单独处理,还是统一处理,直接读取session就可以做相应的判断了. 我封装成了一个类,现在分享给大家: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28

Html5 Device API详解

三.四月曾学习过html5相关知识,并就html5 device api做过一次讲解 课程时长一个小时,预期达到level 200目标,即知道html5 device api是什么,且知道怎么实现,面向人群为有javascript基础但无device api经验的同学 这里把录制的视频分享一下,课程地址

关于linux ARM device tree设备树

关于linux ARM device tree设备树 关于linux device tree .dtb文件是如何加载到内核并解析的.见下图: 关于arm device tree的phandle的处理原理,见下图: 详细情况,见下面我的ARM device tree原理视频课程:https://edu.51cto.com/course/17175.html 具体请参考我的免费的linux各种驱动开发课程如下:https://edu.51cto.com/course/17138.html 另外我的相

安卓API Guide翻译 (官方)Device Compatibility 设备相容性1.2

翻译不对的地方请大家指正.定期每两天更新一篇,欢迎关注. 1.2Device Compatibility 1.2设备相容性 Android is designed to run on many different types of devices, from phones to tablets and televisions. As a developer, the range of devices provides a huge potential audience for your app.