地理位置(navigation.geolocation)与本地存储(seessionStorage、localStorage)

来源:互联网 发布:ae cc for mac 编辑:程序博客网 时间:2024/05/17 22:45
一、地理位置( geolocation ):    navigator.geolocation对象:        1、单次请求:            //navigator.geolocation.getCurrentPosition(              function(res){                //请求成功函数:                    (调用方式:res.coords.longitude)                    经度:coords.longitude                    维度:coords.latitude                    精准度:coords.accuracy                    海拔:coords.altitude                    海拔精准度:coords.altitudeAcuracy                    行进方向:coords.heading                    地面速度:coords.speed                    时间戳:  new Date(position.timestamp);                  },              function(err){                //请求失败:                    console.log(err.code);                      //0: 不包括其他编号中的错误                      1:用户拒绝共享位置                      2:尝试获取用户信息,失败了                      3:设置了timeout值,获取位置超时了              },{                //数据收集方式:                    enableHighAcuracy  :  更精确的查找,默认false                    timeout  :  获取位置允许最长时间,默认infinity                    maximumAge :  位置可以缓存的最大时间,默认0              });        2、多次定位请求:            //watchPosition();  --> 多次定位请求                ---  移动设备有用,位置改变时触发                ---  配置参数:frequency 更新的频率            //clearWatch();    -->   关闭跟新请求            --navigator.geolocation.clearWatch();二、本地存储( storage ):    1.cookie:        一个域名400k大小        每次使用都要请求服务器        数据共享    2.storege: ( 存储限制5M )        a、sessionStorage:(临时存储,页面关闭消失,数据不共享)            b、localStorage:(永久存储,可手动删除,数据共享)        c、API:            (1)、setItem();  设置存储            (2)、getItem();  获取存储            (3)、removeItem(); 删除存储            (4)、clear();     清楚所有存储            (5)、storage  //事件:当有数据修改或删除就会触发(修改的窗口不会触发storage事件)                -->storage事件中的ev对象中存储如下数据:                    *ev.key: 修改或删除的可key值  如果调用clear()则为null                    *ev.newValue: 新设置的值 如果调用removeStorage(),key为null                    *ev.olValue: 改变前的值                    *ev.storageArea: 当前的storage对象(中存储的所有的值)                    *ev.url: 出发该脚本变化的文档                    注:session同窗口才可以,例如:iframe操作