web全栈架构师[笔记] — 03 html5新特性
HTML5新特性
一、geolocation
- PC端
- 精度比较低
- 通过IP库定位
- 移动端
- 通过GPS
- window.navigator.geolocation
- 单次 getCurrentPosition(成功,失败,参数)
- 参数:
- enableHighAccuracy 高精度模式——更慢、更费电
- timeout 超时
- maximumAge 缓存时间
- 结果:
- latitude/longitude 经度/纬度
- altitude 海拔高度
- accuracy 精确度
- altitudeAccuracy 高精度精确度
- heading 朝向
- speed 速度
- 参数:
- 监听 watchPosition
- 单次 getCurrentPosition(成功,失败,参数)
二、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()方法
- 默认地,无法将数据/元素放置到其他元素中。如果需要设置允许放置,我们必须阻止对元素的默认处理方式。这要通过调用 ondragover 事件的
- 放置
.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新特性的更多相关文章
- web全栈架构师[笔记] — 01 ECMAScript6新特性
ES6新特性 一.变量 var:重复定义不报错:没有块级作用域:不能限制修改 let:变量,不能重复定义,有块级作用域 const:常量,不能重复定义,有块级作用域 二.函数/参数 箭头函数——简写: ...
- web全栈架构师[笔记] — 02 数据交互
数据交互 一.http协议 基本特点 1.无状态的协议 2.连接过程:发送连接请求.响应接受.发送请求 3.消息分两块:头.体 http和https 二.form 基本属性 action——提交到哪儿 ...
- 2019最新WEB全栈架构师第八期视频教程
下载链接:https://www.yinxiangit.com/117.html
- 22期老男孩Ptython全栈架构师视频教程
老男孩Ptython全栈架构师视频教程 Python最新整理完整版22期视频教程 超60G课程容量<ignore_js_op> <ignore_js_op> <ignor ...
- 添物零基础到大型全栈架构师 Java实战及解析(实战篇)- 概述
实战篇是在基础之上,进一步提升的内容.通过实战篇可以深入理解Java相关框架和库的使用,能够独立开发小模块,或者按照架构师的指导进行代码编写和完善. 主要讲解核心框架和库的使用和使用场景介绍.通过 ...
- Kubernetes全栈架构师(基本概念)--学习笔记
目录 为什么要用Kubernetes? K8s控制节点-Master概念 K8s计算节点-Node概念 什么是Pod? 为什么要引入Pod? 创建一个Pod 零宕机发布应用必备知识:Pod三种探针 零 ...
- Kubernetes全栈架构师(Kubeadm高可用安装k8s集群)--学习笔记
目录 k8s高可用架构解析 Kubeadm基本环境配置 Kubeadm系统及内核升级 Kubeadm基本组件安装 Kubeadm高可用组件安装 Kubeadm集群初始化 高可用Master及Token ...
- Kubernetes全栈架构师(二进制高可用安装k8s集群部署篇)--学习笔记
目录 二进制高可用基本配置 二进制系统和内核升级 二进制基本组件安装 二进制生成证书详解 二进制高可用及etcd配置 二进制K8s组件配置 二进制使用Bootstrapping自动颁发证书 二进制No ...
- Kubernetes全栈架构师(资源调度上)--学习笔记
目录 Replication Controller和ReplicaSet 无状态服务Deployment概念 Deployment的创建 Deployment的更新 Deployment的回滚 Dep ...
随机推荐
- 程序猿的日常——工作中常用的Shell脚本
工作当中总是会有很多常用的linux或者命令,这里就做一个总结 文件远程拷贝 如果想把文件从本机拷贝到远程,或者从远程下载文件到本地. # 把本地的jar拷贝到远程机器xxxip的/home/sour ...
- 带你走进CSS定位详解
学习CSS相关知识,定位是其中的重点,也是难点之一,如果不了解css定位有时候都不知道怎么用,下面整理了一下关于定位属性的具体理解和应用方案. 一:定位 定位属性列表 position top bot ...
- React.js 三周 -- 入门到搭建团队基础项目
吐槽 公司自己的产品,由于历史遗留问题,前端一直是和java放到一个项目里写的. 导致了,前端就被死死的绑在了IDEA战车上.想要看页面效果,先起几个java服务.想要调试一个改动,重启个java服务 ...
- 理解Docker
Docker Image OS分为 内核(kernel) 和 用户 空间,kernel 启动后,会挂载root文件系统提供用户空间. Docker Image 就相当于一个 root文件系统.是一个特 ...
- python实现快速排序算法
快速排序算法又称划分交换排序(partition-exchange sort),一种排序算法,最早由东尼·霍尔提出.在平均状况下, 排序n个项目要O(nlogn)次比较.在最坏状况下则需要O(n*2) ...
- Angular使用总结 --- 通过指令动态添加组件
之前自己写的公共组件,都是会先引入,需要调起的时候再通过service控制公共组件状态.值.回调函数什么的.但是有一些场景不适合这种方式,还是动态添加组件更加好.通过写过的一个小组件来总结下. 创建组 ...
- vue elementui 引入第三方icon iconfront
elementui框架自带icon在开发大型前端应用时显得捉襟见肘.淘宝开源的iconfront的图标库上有很多优秀的icon图标.elementui支持整合iconfront到应用中,步骤如下: 首 ...
- Python--Click
Click Click 是 Flask 的开发团队 Pallets 的另一款开源项目,它是用于快速创建命令行的第三方模块. 我们知道,Python 内置了一个 Argparse 的标准库用于创建命令行 ...
- LDA-线性判别分析(一)预备知识
本来是要调研 Latent Dirichlet Allocation 的那个 LDA 的, 没想到查到很多关于 Linear Discriminant Analysis 这个 LDA 的资料.初步看了 ...
- kafka的迁移干货
随着业务的发展, 服务器所在网段/机群不允许kafka继续保留在那, 需要移动到先机器上. 哎呀上面是废话,总的说就是: 2台老kafka不要了,数据要迁移到新的2台kafka上面.要求数据不丢失 通 ...