当前位置: 首页 > Web前端 > HTML5

HTML5-API网络状态、地理位置、网络存储_0

时间:2023-04-05 17:21:58 HTML5

1.网络状态在移动端,我们经常需要检测设置是在线还是离线。HTML5为此定义了一个navigator.onLine属性,用于检测设备是否联网。navigator.onLine在不同的浏览器中略有不同。1、网络状态navigator.onLine返回用户当前的网络状态,是一个布尔值。1.如果浏览器不能上网(包括局域网),则为离线,即离线,返回false2.否则为在线,返回true注意:返回true并不一定代表一定可以访问Internet,因为可以连接到LAN。但是返回false意味着你一定没有连接到Internet。2、监听网络变化为了更好的判断网络是否连通,HTML5还定义了两个监听网络状态变化的事件。//网络连接时会调用window.addEventListener("online",function(){alert("online");});//网络断开时会被调用window.addEventListener("offline",function(){alert("offline");});2.地理位置在HTML规范中增加了获取用户地理信息的API,这样我们就可以开发基于用户位置的互联网应用,即基于位置的服务LBS(LocationBaseService)1.隐私HTML5规范提供了一套保护用户隐私的机制。获取用户的位置信息需要得到用户的明确许可。在获取地理位置之前,会询问用户,只有获得许可后才能获取用户的位置信息。2.相关方法【JavaScript】纯文本视图复制代码?//successCallback:获取成功后会调用,返回一个position对象,包含地理位置信息/i/font//获取失败会调用,并返回错误对象,包含错误信息。//获取当前地理位置信息navigator.geolocation.getCurrentPosition(successCallback,errorCallback)//重复获取当前地理位置信息navigator.geolocation.watchPosition(successCallback,errorCallback)示例:navigator.geolocation.getCurrentPosition(function(position){//定位成功会调用该方法//position.coords.latitudelatitude//position.coords.longitudelongitude//position.coords.accuracyprecision//position.coords.altitudealtitude},function(error){//定位失败时会调用该方法//error为错误信息});在iOS10中苹果修改了webkit定位权限,所有定位请求页面必须是https协议。3、用户从百度地图获取经纬度的意义不大,因为用户不知道经纬度代表地球上的哪个地方,因为我们可以结合百度地图准确显示用户的位置。百度地图官网:http://lbsyun.baidu.com/1.开发中找到javascriptAPI2.直接查看示例demo3.复制对应代码替换秘钥,新建秘钥即可应用它。3、Web存储代码执行时,数据存储在内存中。当页面关闭或浏览器关闭时,内存被释放。数据只有存储到硬盘上才会被释放。[JavaScript]plaintextviewcopycode?//存入内存,会释放varstr="helloworld";console.log(str);//存入硬盘,不会释放localStorage.setItem("name","张三");console.log(localStorage.getItem("name"));1.cookie(理解)传统方式,我们用document.cookie来存储,但是存储起来很麻烦,而且,store大小只有4k,常用于自动登录,即存储用户帐号和密码信息。每个请求都会带一个cookie[02-cookiestorage.html]cookie以字符串的形式存在,这个字符串有固定的格式:key=value;key1=value1;获取cookie内容时,一般需要通过正则或者处理string方法,转化为对象,最后获取数据。document.cookie="name=zhangsan";document.cookie="年龄=18";document.cookie="sex=23";//读取cookievarresult=document.cookie;控制台日志(结果);使用原生js操作cookies太麻烦,尤其是cookies的获取和删除。使用jquery.cookie插件可以简化我们的操作。【03-cookie存储(jquery插件).html】//设置cookie$.cookie("name","zs");//获取cookieconsole.log($.cookie("name"));//删除cookie$.removeCookie("name");2.sessionStorage和localStorageHTML5规范提出了一种解决方案,使用sessionStorage和localStorage来存储数据。设置、读取、删除操作非常方便。window.sessionStorage的特点1.语句期间是关闭浏览器窗口2.多窗口下不能共享数据。三、5M的window.localStorage的特点1、永久的,除非手动删除2、可以被多个窗口共享3、20M的window.sessionStorage和window.localStorage的方法setItem(key,value)//设置存储内容getItem(key)//读取存储内容removeItem(key)//删除key值为key的存储内容clear()//清除所有存储内容key(n)//获取索引值为存储内容