3.18日学习日志
3.18日学习日志
HTML5 在 Javascript 上面新增了哪些 API 呢?
- Video/Audio:HTML5 为 Video 和 Audio 提供了 API 来让开发者控制他们自己的用户界面,如可以播放或暂停媒体内容。
- Canvas:Canvas 是一个新的 HTML 元素,这个元素可以被 Script 语言(通常是 JavaScript)用来绘制图形。例如可以用它来画图、合成图象、或做简单的(和不那么简单的)动画。Canvas 是一个神奇的东西,它给我的第一感觉就像是在用 Photoshop 一样,它的每一个方法跟 Photoshop 是那么地相似,通过 canvas.getContext(‘2d’) 就可以得到这个 Canvas 的 API,你可以通过 fillStyle 设置其填充颜色或是通过 strokeStyle 设置其描边颜色,甚至它画路径的操作跟 Photoshop 的钢笔操作更是不谋而合。Canvas 在很多网站都已经有应用,甚至还可以用 Canvas 来编写 Web Game。
- Drag&Drop:在指示设备的视觉媒体中,”Drag” 的操作就是鼠标按下(mousedown)并伴随着鼠标移动(mousemove)的事件,而 ”Drop” 则是鼠标释放时触发的事件。在 Drag&Drop 里定义了 DataEvent 和 DataTransfer 接口,同时当拖拽操作发生时会触发如 dragstart,dragenter,dragleave,drop,dragend 等事件。
- Web Workers:让 JavaScript 多线程,可以在后台做很多工作而不会阻断当前的浏览器操作。
- Geolocation:地理位置定位,运行 navigator.geolocation.getCurrentPosition(success, error) 这个方法时浏览器会提示是否要共享你的地理位置,如果选择共享,则会回调 success 函数,success 函数有一个参数是 position 对象,这个 position 对象有一个 coords 对象,coords 对象包含了很多地理位置信息如 latitude(维度)和 longitude(经度),这样就可以知道你的具体位置了,这个功能在一些手机如 iPhone 上已经有广泛的应用了。
- Application Cache:这是 HTML5 对于离线应用的支持,通过在 HTML 元素上加一个属性 manifest,浏览器会提示你是否要将数据缓存到客户端,如果用户选择了允许,则会按照指定的 manifest 文件列表缓存需要的文件,当你的网络不可用时,你还是可以使用这个应用的。对于离线应用,Google 也开发了 Google Gears 浏览器扩展,不过最后 Google 转投 HTML5 可能也是看到了 HTML5 存储和离线应用的这种优势。
- Storage:Webkit 已经实现了 database storage,你可以像后端操作数据库一样查询数据并执行一些操作。还有一种存储是键值对存储,如 sessionStorage 和 localStorage,可以通过 setItem 和 getItem 来存储与取值,相对于 Cookie 的存储来说,存储的容量要大很多。
- X-Document Messaging:浏览器因为安全和隐私的原因,阻止了不同域之间文档的通信,虽然这是一个安全限制,但是对于那些没有危害的不同域的文档通信带来了很多问题,但是 HTML5 可以实现这种跨文档通信,让我们可以不用管源域是来自哪里,同时可以防止脚本攻击。
HTML5 让你心动了吗?那么 HTML5 什么时候会成为标准呢?据说要等到 2022