HTML5 新特性

<datalist> 标签,兼容性不好

  • 定义选项列表,需与 input 元素配合使用,来定义 input 可能的值。datalist及其选项不会被显示出来,它仅仅是合法的输入值列表。
  • 所有主流浏览器都支持 <datalist> 标签,除了 Internet ExplorerSafari
      <input id="myCar" list="cars" />
      <datalist id="cars">
          <option value="BMW">
          <option value="Ford">
          <option value="Volvo">
      </datalist>
    

classList 属性,兼容性不好

  • 返回元素的类名,作为 DOMTokenList 对象(DOMTokenList接口表示一组空格分隔的标记tokens)。用于在元素中添加,移除及切换 CSS 类。
  • classList 属性是只读的,但可以使用 add()remove() 方法修改它。
  • Properties
    // length:返回类列表中类的数量,该属性是只读的
    var len = document.getElementById('myDIV').classList.length
    
  • 方法:
    // add(class1, class2, ...):在元素中添加一个或多个类名。如果指定的类名已存在,则不会添加
    document.getElementById("myDIV").classList.add("mystyle", "anotherClass", "thirdClass")
    
    // contains(class):返回布尔值,判断指定的类名是否存在
    var flag = document.getElementById("myDIV").classList.contains("mystyle")
    
    // item(index):返回元素中索引值对应的类名。索引值从 0 开始。如果索引值在区间范围外则返回 null
    var className = document.getElementById("myDIV").classList.item(0)
    
    // remove(class1, class2, ...):移除元素中一个或多个类名。移除不存在的类名,不会报错
    document.getElementById("myDIV").classList.remove("mystyle", "anotherClass", "thirdClass")
    
    // toggle(class, true|false):在元素中切换类名。
    // 第一个参数为要在元素中移除的类名,并返回 false。如果该类名不存在则会在元素中添加类名,并返回 true。
    // 第二个是可选参数,布尔值,用于设置元素是否强制添加(true)或移除(false)类,不管该类名是否存在。
    document.getElementById("myDIV").classList.toggle("newClassName")
    

Dataset 存储

<div id="myDIV" data-a="a" data-b="b" data-c="c" data-d="d" data-a-b="a-b">myDIV</div>
  • 利用 getAttributesetAttribute 存取 dataset
    // get 
    var a = document.getElementById("myDIV").getAttribute("data-a")
    // set or add
    document.getElementById("myDIV").setAttribute("data-e", "e")
    
  • 利用 dataset API 存取 dataset
    // get
    var a = document.getElementById("myDIV").dataset.a
    // set or add
    document.getElementById("myDIV").dataset.f = "f"
    // 如果涉及到连字符"-",可以采取驼峰化的方法来存取
    var ab = document.getElementById("myDIV").dataset.aB
    

HTML <html> manifest 属性

带有缓存 manifestHTML 文档(用于离线浏览)

<html manifest="test.appcache">

FileReader() 读取文件

  • FileReader对象允许Web应用程序异步读取存储在用户计算机上的文件(或原始数据缓冲区)的内容,使用FileBlob对象指定要读取的文件或数据。

  • 属性:
    FileReader.error:只读,返回读取文件时的错误信息,表示在读取文件时发生的错误
    FileReader.readyState:只读,提供 FileReader 读取操作时的当前状态

    0:EMPTY,还没有加载任何数据
    1:LOADING,数据正在被加载
    2:DONE,已完成全部的读取请求
    

    FileReader.result:只读,返回文件的内容。只有在读取操作完成后,此属性才有效,返回的数据的格式取决于是使用哪种读取方法来执行读取操作的。

  • 事件处理:
    FileReader.onerror:处理error事件,该事件在读取操作发生错误时触发
    FileReader.onloadstart:处理loadstart事件,该事件在读取操作开始时触发
    FileReader.onloadend:处理loadend事件,该事件在读取操作结束时(成功或失败)触发
    FileReader.onload:处理load事件,该事件在读取操作完成时触发
    FileReader.onprogress:处理load事件,该事件在读取操作完成时触发
    FileReader.onabort:处理abort事件,该事件在读取操作被中断时触发

  • 方法:
    FileReader.abort():中止读取操作。在返回时,readyState属性为DONE
    FileReader.readAsArrayBuffer():开始读取指定的Blob中的内容, 一旦完成, result属性中保存的将是被读取文件的ArrayBuffer数据对象
    FileReader.readAsBinaryString():开始读取指定的Blob中的内容。一旦完成,result属性中将包含所读取文件的原始二进制数据
    FileReader.readAsDataURL():开始读取指定的Blob中的内容。一旦完成,result属性中将包含一个data: URL格式的Base64字符串以表示所读取文件的内容
    FileReader.readAsText():开始读取指定的Blob中的内容。一旦完成,result属性中将包含一个字符串以表示所读取的文件内容

网络状态

  • window.navigator.onLine:返回浏览器的联网状态(truefalse
  • window.onOnline:监听事件,来获取浏览器联网状态的改变情况
  • window.onOffline:监听事件,来获取浏览器联网状态的改变情况

地理定位

        window.navigator.geolocation.getCurrentPosition(function(position){
            // 位置对象
            console.log(position)
            // 纬度
            console.log(position.coords.latitude)
            // 经度
            console.log(position.coords.longitude)
        }, function(error){
            console.log(error)
        })

本地存储

  • cookie
    1. 单条存储有大小限制 4KB,只能使用文本
    2. 数量限制(一般浏览器,限制大概在50条左右)
    3. 读取有域名限制 不可跨域读取,只能由来自 写入cookie的 同一域名 的网页可进行读取
    4. 时效限制expires,每个cookie都有时效,最短的有效期是,会话级别:就是当浏览器关闭,那么cookie立即销毁
    5. cookiehttp/https协议下的技术,不支持本地file文件对cookie操作
    document.cookie="user=zhang:name=li;age=45"
    
  • localStorage:生命周期为关闭浏览器窗口,在同一个窗口下数据可以共享,容量约5M
    window.localStorage.setItem('name', '小明2')
    var name = window.localStorage.getItem('name')
    window.localStorage.removeItem('name')
    // 清空所有localStorage
    window.localStorage.clear()
    
  • sessionStorage:永久生效,除非手动删除,可以多窗口共享,容量约20M
    window.sessionStorage.setItem('name', '小明3')
    var name = window.sessionStorage.getItem('name')
    window.sessionStorage.removeItem('name')
    // 清空所有sessionStorage
    window.sessionStorage.clear()
    

canvas

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,588评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,456评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,146评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,387评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,481评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,510评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,522评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,296评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,745评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,039评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,202评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,901评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,538评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,165评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,415评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,081评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,085评论 2 352

推荐阅读更多精彩内容

  • 1.htm5新特性 1.语义化标签 1.1.htm5新特性 1.2.新选着器### 1.3 获取class列表属性...
    believedream阅读 537评论 0 0
  • 前言 认识HTML5 之前学的是HTML4或者HTML4.1; 网页开发: html:结构 4.0 Css:样式...
    magic_pill阅读 422评论 0 2
  • 一、新的选择器 getElementByClassName querySelector querySelector...
    EndEvent阅读 244评论 0 0
  • 新增的元素 我的学习交流群点击:web前端学习交流群 html5新增了一些语义化更好的标签元素。 结构元素 art...
    八重樱勿忘阅读 270评论 0 1
  • 这个假期我读了《鲁滨逊漂流记》这本书,获益匪浅。一六五九年九月三十日,一个人在一次航行中上遇到了可怕的风浪...
    唉博没有栗阅读 60评论 0 0