HTML5新特性

一、geolocation

  • PC端

    • 精度比较低
    • 通过IP库定位
  • 移动端
    • 通过GPS
  • window.navigator.geolocation
    • 单次 getCurrentPosition(成功,失败,参数)

      • 参数:

        • enableHighAccuracy 高精度模式——更慢、更费电
        • timeout 超时
        • maximumAge 缓存时间
      • 结果:
        • latitude/longitude 经度/纬度
        • altitude 海拔高度
        • accuracy 精确度
        • altitudeAccuracy 高精度精确度
        • heading 朝向
        • speed 速度
    • 监听 watchPosition

二、video、audio

  • video

    • scr
    • autoplay
    • loop
    • poster
    • controls
    • video支持的格式
      • IE wmv、mp4
      • Chrome webq、mp4
      • FireFox ogv、mp4
  • audio
    • 支持格式 mp3
  • js接口
    • 方法

      • play() 播放
      • pause() 暂停
    • 属性
      • currentTime 当前播放时间 (s)
      • duration 长度(s)
      • volume 音量(0-100)
      • muted 静音(bool)

三、localStorage

  • 本地存储:大(5M)/cookie(4K)

    • 1.大:1280倍
    • 2.localStorage不会被发往服务器
    • 3.方便
  • localStorage/sessionStorage
    • localStorage 永久存储
    • sessionStorage 会话期存储(浏览器关了就没了)
  • localStorage的用法跟json一模一样
    • localStorage.a=xxx 设置
    • localStorage.a 读取
    • delete localStorage.a 删掉
    • for in 遍历
  • sessionStorage用法和localStorage一模一样

四、WebWorker

  • 浏览器上实现的多进程
  • 主机 > 程序 > 进程 > 线程 > 纤程
  • 对比:
进程线程对比
  多进程(重) 多线程(轻)
开销 创建、销毁开销大 创建、销毁开销小
安全性 进程之间是隔离 线程之间是共享
资源 每个进程独立资源 同一个进程的所有线程共享资源
共享资源 麻烦 方便
编程难度 低(资源是独享的) 高(资源是共享的)
  • 总结:

    • 多进程:性能低,编写简单
    • 多线程:性能高,编写复杂
  • Web端:
    • 主进程 UI进程
    • 子进程(工作进程) 看不见的;只能完成计算、数据请求这些操作
  • 优点:
    • 1.充分利用资源(多个进程同时工作)
    • 2.防止主进程卡住
  • 缺点:
    • 不能执行任何UI操作,子进程只能执行计算型任务
  • 结论:WebWorker在工作中用的很少——Web中计算型任务就不多

五、文件操作、拖拽

  • 事件

    • 进入 .ondragenter
    • 离开 .ondragleave
    • 悬停 .ondragover
      • 默认地,无法将数据/元素放置到其他元素中。如果需要设置允许放置,我们必须阻止对元素的默认处理方式。这要通过调用 ondragover 事件的 event.preventDefault() 方法
    • 放置 .ondrop
      • 同悬停阻止默认事件,调用 event.preventDefault() 方法
  • FileReader:对象允许Web应用程序异步读取存储在用户计算机上的文件(或原始数据缓冲区)的内容,使用 File 或 Blob 对象指定要读取的文件或数据。其中File对象可以是来自用户在一个input元素上选择文件后返回的FileList对象,也可以来自拖放操作生成的 DataTransfer对象,还可以是来自在一个HTMLCanvasElement上执行mozGetAsFile()方法后返回结果
    • 属性

      • error
      • onload
      • readyState
      • result
    • 方法
      • abort()
      • readAsArrayBuffer():原始二进制数据,用于编辑(不常用)
      • readAsBinaryString():二进制的文本形式数据,用于上传
      • readAsDataURL():base64,用于图片
      • readAsText():文本,用于文本文件
    • 继承
      • EventTarget
    • Events
      • onabort
      • onerror
      • onload
      • onloadstart
      • onloadend
      • onprogress

六、manifest

  • 文件是简单的文本文件,它告知浏览器被缓存的内容(以及不缓存的内容)

    • CACHE MANIFEST - 在此标题下列出的文件将在首次下载后进行缓存
    • NETWORK - 在此标题下列出的文件需要与服务器的连接,且不会被缓存
    • FALLBACK - 在此标题下列出的文件规定当页面无法访问时的回退页面(比如 404 页面)
  • 参考地址:

七、canvas

八、WebSQL/IndexedDB

web全栈架构师[笔记] — 03 html5新特性的更多相关文章

  1. web全栈架构师[笔记] — 01 ECMAScript6新特性

    ES6新特性 一.变量 var:重复定义不报错:没有块级作用域:不能限制修改 let:变量,不能重复定义,有块级作用域 const:常量,不能重复定义,有块级作用域 二.函数/参数 箭头函数——简写: ...

  2. web全栈架构师[笔记] — 02 数据交互

    数据交互 一.http协议 基本特点 1.无状态的协议 2.连接过程:发送连接请求.响应接受.发送请求 3.消息分两块:头.体 http和https 二.form 基本属性 action——提交到哪儿 ...

  3. 2019最新WEB全栈架构师第八期视频教程

    下载链接:https://www.yinxiangit.com/117.html

  4. 22期老男孩Ptython全栈架构师视频教程

    老男孩Ptython全栈架构师视频教程 Python最新整理完整版22期视频教程 超60G课程容量<ignore_js_op> <ignore_js_op> <ignor ...

  5. 添物零基础到大型全栈架构师 Java实战及解析(实战篇)- 概述

    ​ 实战篇是在基础之上,进一步提升的内容.通过实战篇可以深入理解Java相关框架和库的使用,能够独立开发小模块,或者按照架构师的指导进行代码编写和完善. 主要讲解核心框架和库的使用和使用场景介绍.通过 ...

  6. Kubernetes全栈架构师(基本概念)--学习笔记

    目录 为什么要用Kubernetes? K8s控制节点-Master概念 K8s计算节点-Node概念 什么是Pod? 为什么要引入Pod? 创建一个Pod 零宕机发布应用必备知识:Pod三种探针 零 ...

  7. Kubernetes全栈架构师(Kubeadm高可用安装k8s集群)--学习笔记

    目录 k8s高可用架构解析 Kubeadm基本环境配置 Kubeadm系统及内核升级 Kubeadm基本组件安装 Kubeadm高可用组件安装 Kubeadm集群初始化 高可用Master及Token ...

  8. Kubernetes全栈架构师(二进制高可用安装k8s集群部署篇)--学习笔记

    目录 二进制高可用基本配置 二进制系统和内核升级 二进制基本组件安装 二进制生成证书详解 二进制高可用及etcd配置 二进制K8s组件配置 二进制使用Bootstrapping自动颁发证书 二进制No ...

  9. Kubernetes全栈架构师(资源调度上)--学习笔记

    目录 Replication Controller和ReplicaSet 无状态服务Deployment概念 Deployment的创建 Deployment的更新 Deployment的回滚 Dep ...

随机推荐

  1. AJAX从入门到放弃(一)

    AJAX可以用于创建快速动态的网页(无需重新加载整个网页的情况下,能够更新部分网页的技术) 即异步的Javascript和XML,通过后台与服务器进行少量数据交换,AJAX可以使网页实现异步更新. A ...

  2. 在windows如何操控一些屌炸天的linux命令[利刃篇]

    作为开发者,也许你会说,不会linux简直弱爆了.是的,但是,倒底有多少人是真正在用linux进行开发工作呢,也许是我孤陋寡闻,但我相信,windows操作很多东西是真方便,不愿意使用linux直接开 ...

  3. Zabbix-2--安装--LAMP/LNMP详细总结

  4. nginx访问问题

    root响应的路径:配置的路径(root指向的路径)+完整访问路径(location的路径)+静态文件alias响应的路径:配置路径+静态文件(去除location中配置的路径)

  5. HDFS环境搭建(单节点配置)

    [参考文章]:hadoop集群搭建(hdfs) 1. Hadoop下载 官网下载地址: https://hadoop.apache.org/releases.html,进入官网根据自己需要下载具体的安 ...

  6. asp.net mvc 安全测试漏洞 " HTTP 动词篡改的认证旁路" 问题解决

    IBM Security Appscan漏洞筛查-HTTP 动词篡改的认证旁路漏洞,具体解决方案: 在Web.Config中system.webServer节点增加配置security: <se ...

  7. postgresql-删除重复数据

      greenplum最终的方法是: delete from test where (gp_segment_id, ctid) not in (select gp_segment_id, min(ct ...

  8. [每天解决一问题系列 - 0008] 关于.net framework 路径最大长度的问题

    问题描述: 有时候,在copy文件的时候,会提示目录长度太大,无法copy 解决方法: 可以使用Long Path Tool 解决问题 相关解释: http://blogs.msdn.com/b/bc ...

  9. 微服务架构集大成者—Spring Cloud (转载)

    软件是有生命的,你做出来的架构决定了这个软件它这一生是坎坷还是幸福. 本文不是讲解如何使用Spring Cloud的教程,而是探讨Spring Cloud是什么,以及它诞生的背景和意义. 1 背景 2 ...

  10. 深入理解String, StringBuffer, StringBuilder的区别(基于JDK1.8)

    String.StringBuffer.StringBuilder都是JAVA中常用的字符串操作类,对于他们的区别大家也都能耳熟能详,但底层到底是怎样实现的呢?今天就再深入分析下这三种字符串操作的区别 ...