本文共 4652 字,大约阅读时间需要 15 分钟。
querySelector
方法获取满足第一个
条件的 DOM 元素querySelectorAll
方法获取满足条件的所有
DOM 元素复杂选择器的查找
方式
- 1
- 2
- 3
- 4
- 5
包含用户(在浏览器窗口中)访问过的 URL
,能够让一个页面具有历史状态
window.history
属性对其进行访问pushState
方法添加历史状态
前进后退
方法时触发 window 对象的 popstate 事件
,可以在事件中获取历史状态的数据
属性方法 | 描述 |
---|---|
length | 返回浏览器历史列表中的 URL 数量 |
back() | 加载 history 列表中的前一个 URL |
forward() | 加载 history 列表中的下一个 URL |
go() | 加载 history 列表中的某个具体页面 |
history.pushState('历史状态的数据','标题',url)// 标题目前浏览器不支持// url 建议采用 "?参数=值" 的形式
功能描述
回退历史浏览记录
注意点
历史对象API
localStorage 存储
sessionStorage 存储
离线缓存
其他
键值配对
保存数据,用于持久化
的本地存储容量大小约为 5M
浏览器的支持不一致
,建议加上兼容性
语法string
,JSON对象
需要进行类型转换
JSON.stringify()
JSON.parse()
本地数据未加密,且持久存在,安全性差
属性方法 | 描述 |
---|---|
length | 存储数据对象的个数 |
key(index) | 获取 index 对应的键 |
setItem(key, value) | 键值存储的方法 |
getItem(key) | 获取存储数据的方法 |
removeItem(key) | 删除指定数据的方法 |
clear() | 清除所有存储数据的方法 |
本地存储保存与读取数据
// 保存数据到本地存储localStorage.setItem('stuName','tom')// 从本地存储中读取数据alert(localStorage.getItem('stuName'))
本地存储对象
字符串转换
JSON格式
var stu = { "stuName": "tom", "stuAge": 18, "stuGender": true }localStorage.setItem('stu',stu) //保存对象,但是无法解析数据
//兼容性的写法if (localStorage) { localStorage.setItem('stu', JSON.stringify(stu)) //保存对象前,需要做字符串转换 alert(JSON.parse(localStorage.getItem('stu')).stuName) //读取对象数据前,需要再转换成JSON格式}else{ alert('您的浏览器不支持本地存储,请升级!')}
登陆验证页面(login.html)
首页页面(index.html)
欢迎访问首页
生命周期限于会话期内
,会话结束后自动销毁
在多页面间共享数据
index.html
pay.html
当前购物车的商品清单:
建立一个URL列表清单
Cache Manifest 文件
后缀名是manifest
CACHE MANIFEST# version 0.0.0CACHE:# 需要缓存的资源文件css/style.cssImage/head.jpgNETWORK:# 在线访问的资源文件Index.jsp
index.html
离线缓存
myCache.manifest
CACHE MANIFEST#version 0.0.0CACHE:#需要缓存的资源文件images/2.jpgNETWORK:#在线访问的资源文件images/1.jpg
检查/Network
确定用户位置
的功能,借助这个特性能够开发基于位置信息
的应用位置查找,地图应用,导航
等功能,具有划时代的意义GPS
覆盖面广
,需要GPS设备
WIFI
室内
环境,需要WIFI热点
IP定位
模糊匹配
,精度要求不高
数据定位
latitude (纬度)
longitude (经度)
window.navigator.geolocation.getCurrentPosition(success,error,null)success(position): 成功的回调函数error(errorcode): 失败的回调函数
参数 | 功能 |
---|---|
coords.latitude | 纬度 |
coords.longitude | 经度 |
coords.altitude | 海拔 |
coords.accuracy | 位置精确度 |
coords.altitudeAccuracy | 海拔精确度 |
coords.heading | 朝向 |
coords.speed | 速度 |
百度地图 API 官网
设置地图3D视角
页面层调用的API文件
,通过调用这个API文件中的对象、方法和接口
,可以方便的访问文件的属性或内容
file 表单元素
,访问和操纵本地文件
File 对象
FileList 对象
FileReader
对象读取文件
基本属性
Name
lastModifieddate
(上一次修改文件的时间
)继承了Blob接口
,可以使用接口提供的属性
size
type
(文件类型
)文件列表展示练习
文件读取对象
常用方法 readAsDataURL
:读取图片
文件readAsText
:读取文本
文件var reader = new FileReader();reader.onload = function(e){ // 通过 e.target.result 获取文件内容}reader.readAsDataURL(file); // 读取图片文件// reader.readAsText(file); // 读取文本文件
文件读取练习
发表旅行感想
更改头像练习
user
常用的事件
事件名 | 描述 |
---|---|
onloadstart | 当读取数据开始时触发 |
onprogress | 当正在读取数据时触发 |
onerror | 当读取数据失败时触发 |
onload | 当数据读取成功时触发 |
onloadend | 当数据读取结束时触发,不论是否成功 |
执行顺序
Loadstart -> onprogress -> onload -> onloadend
事件的参数
数据
:e.target.result
错误码
:e.target.error.code
常见错误信息
: NOT_FOUND_ERR:查不到文件
ENCODING_ERR:文件容量太大
NOT_READABLE_ERR:权限不足
图片和文字可以拖曳
拖曳操作(Drag/Drop)
,需要添加属性 draggable
才可以dragenter
拖进时触发
,主要用于设置接收区域的CSS样式
dragleave
拖离时触发
,主要用于设置接收区域的CSS样式
dragover
拖动时触发
,主要用于阻止默认事件和冒泡
drop
放下时触发
,主要用于完成业务功能
拖放功能
getData(‘格式参数’)
files
格式参数 | 描述 |
---|---|
text/plain | 文本格式 |
text/html | HTML页面格式 |
拖拉文字图片
练习测试标题文字
转载地址:http://gdqwi.baihongyu.com/