2019-07-03 HTML5 新增API

HTML5 新增API

1.网络检测状态

以前兼容性差window.navigator.onLine布尔值

现在 widnow.online用户网络连接时被调用

         window.offline用户网络断开时被调用

都是window的监听对象

window.addEventListener("online",function(){

    $("对象").text("网络已经链接")

})


2.全屏显示 兼容性问题ie9+ webkit(chrome)内核需要+webkit Gecko内(火狐)需要+moz

开启全屏显示 requstFullScreen();

关闭全屏显示 cancelFullScreen();


3.文件读取

可以把上传的文件,内 容显示到页面上,上传图片文件显示缩略图

1.file选择文件

2.对象file.files属性(上传文件集合)

3.var reader = new FileReader(); FileReader对象允许Web应用程序异步读取储存在用户计算机上的文件,

    或原始数据的缓冲区

4.通过readAsText(读取文件文本方法)方法读取上传的文件

    reader.readAsText(file.files[0]);

    当这个文件的内容读取完毕之后,会把内容存放到 result属性里面

5. 已经读取完毕,而且读取的内容存放到了result

    reader.onload = function(){

        console.log(reader.result)

    }


4.地理定位

    获得当前地理位置navigator.geolocation.getCurrentPosition(successCallback,errorCallback);

 举例

    var x=document.getElementById("demo");

    function getLocation(){

        判断我们当前的设备是否支持地理定位

        if (navigator.geolocation){

            如果支持就获得当前的地理位置 调用getCurrentPosition(showPosition,errorPosition)方法

            navigator.geolocation.getCurrentPosition(showPosition);

        }

        else{

            如果设备不制裁 就返回这句话 当前浏览器不支持地理定位

            x.innerHTML="Geolocation is not supported by this browser.";}

        }

    function showPosition(position)

    {

          x.innerHTML=

获得当前纬度

              "Latitude: " + position.coords.latitude + "

                获得当前经度

              Longitude: " + position.coords.longitude;

    }


5.拖拽

5.1拖拽和释放

    1.拖拽:Drag

    2.释放:Drop

5.2设置元素为可拖放

    draggable属性:就是标签元素要设置 draggable="true",否则不会有效果

    注意:连接和图片默认是和拖动的,不需要draggable属性

5.3拖拽API的相关事件

    1.源对象.ondragstart = function(){} 源对象开始被拖动

    2.源对象.ondrag = function(){} 源对象被拖动过程中

    3.源对象.ondragend = function(){} 源对象被拖动结束

5.4找到目标文件设置 释放效果

    1.目标对象.ondragenter  目标对象被源对象拖动着进入

    2.目标对象.ondragover = function(e){}  目标对象被源对象拖动着悬停在上方

    如果想要触发 ondrop 事件 则需要在 over 里面,阻止默认行为执行

        return false

        或者

        e.preventDefault();

    3.目标对象.ondragleave  源对象被拖动着离开了目标对象

    4.目标对象.ondrop   源对象拖动着在目标对象上方释放/松手


在进行拖放操作的时候,dataTransfer对象可以用来保存被拖动的数据。它可以保存一项或多项数据、一种或多数数据类型。通谷一点讲,就是可以通过它来传输被拖动的数据,以便在拖拽结束的时候,对数据进行其他的操作。

在项目拖动的开始事件(ondragstart)的时候,可以对dataTransfer进行设值操作(setData)。

在项目拖动结束的时候,可以获取dataTransfer对象里的值(getData)。

在其它的事件(如ondragover、ondragleave等),是无法获取dataTransfer里面的值了。这是由于W3C要求对dataTransfer里的值进行保护[参考]。因此,如果需要在这些事件里获取数据,只能通过一个全局变量等其它方式来实现了。


6.Web本地存储

随着互联网的快速发展,基于网页的应用越来越普遍,同时也变得越来越复杂,为了满足各种各样的需求,会经常性的在本地储存大量数据HTML5规范提出了相关解决方案

6.1 特性

1.设置,读取方便。

2.容量较大,sessionStorage约5M,localStorage约20M。

3.只能储存字符串,可以将对象JSON.stringify()编码后储存。

6.2 window.sessionStorage

1.声明周期为关闭浏览器窗口。

2.在同一个窗口(页面下)数据可以共享。

6.3 window.localStorage

1.永久生命,除非手动删除(服务器方式访问然后清除缓存)。

2.可以多窗口(页面)共享

6.4 方法详解

1.setItem(key,value)设置储存内容

2.getItem(key)读取储存内容

3.removeItem(key)删除指定内容

4.clear()删除所有内容

7 应用缓存

HTML5 引入了应用程序缓存,这意味着 web 应用可进行缓存,并可在没有因特网连接时进行访问。

应用程序缓存为应用带来三个优势:

离线浏览 - 用户可在应用离线时使用它们

速度 - 已缓存资源加载得更快

减少服务器负载 - 浏览器将只从服务器下载更新过或更改过的资源。

你可能感兴趣的:(2019-07-03 HTML5 新增API)