js-JavaScript高级程序设计学习笔记14
第十六章 HTML5脚本编程
1、跨文档消息传递。简称XDM,指的是来自不同域的页面间传递消息。
XDM的核心是postMessage()方法,接收两个参数,一条消息和消息接收方来自哪个域的字符串。
接收到XDM消息时,会触发window对象的message事件,异步触发。
为保险起见,第一个参数传递字符串。在传入结构化的数据时调用JSON.stringify(),然后在onmessage事件处理程序中调用JSON.parse()。
2、原生拖放
1、拖放事件。拖动元素时,将依次触发dragstart/drag/dragend。当某个元素被拖动到一个有效的放置目标上时,会依次出发dragenter/dragover/dragleave或drop。
2、自定义放置目标。在拖动元素经过某些无效的放置目标时,可以看到一种特殊的光标,表示不能放置。所有元素支持放置目标,但是默认是禁止的,可以把dragenter和dragover事件的默认行为阻止,变成有效的放置目标。
3、dataTransfer对象。这个对象中的数据只能在drop事件处理程序中读取。
4、dropEffect和effectAllowed。是dataTransfer对象的两个属性。前者可以知道被拖动的元素能够执行哪种放置行为:none/move/copy/link。dropEffect只有搭配effectAllowed才有用,effectAllowed表示允许拖动元素的哪种dropEffect。
5、可拖动。默认情况下,图像/链接和文本是可以拖动的。其他元素也可以拖动——draggable属性。
6、其他成员。HTML5规定的datatransfer中包含的其他属性和方法P485.
3、媒体元素
<audio> <video>
poster属性是在加载视频内容期间显示一幅图。
如果标签中有controls属性,表示应显示UI控件。
嵌入source标签指定多个不同的媒体来源。
1、属性。P487
2、事件。
3、自定义媒体播放器。使用play()和pause()方法,可以手工控制媒体文件的播放。
4、检测编解码器的支持情况。canPlayType()方法。
5、Audio类型。可以在任何时候播放音乐。
4、历史状态管理。P491
js-JavaScript高级程序设计学习笔记14的更多相关文章
- JavaScript高级程序设计---学习笔记(一)
今天,2017.3.17开始利用课余时间仔细学习<JavaScript高级程序设计>,将需要掌握的知识点记录下来,争取把书里的所有代码敲一遍并掌握. 1.标识符命名最好是第一个字母小写,剩 ...
- javascript高级程序设计学习笔记
javascript高级程序设计,当枕头书已经好久了~zz 现在觉得自己在js的开发上遇到了一些瓶颈,归根究底还是基础太薄弱,所以重新刷一遍js高程希望有更新的认识. 一.javascript简介 ...
- javascript 高级程序设计 学习笔记
<!--<script> // 异步请求封装 IE6即以上浏览器 // ajax(url,fnSucc,selectID,fnFaild) //url 请求地址 //fnSucc 异 ...
- JavaScript高级程序设计---学习笔记(二)
面向对象程序设计1.属性类型.定义多属性.读取属性特性对象的属性在创建时都带有一些特征值,JavaScript通过这些特征值来定义它们的行为.这些特性是为了实现JavaScript引擎用的,因此不能直 ...
- JavaScript高级程序设计学习笔记--DOM
DOM(文档对象模型)是针对HTML和XML文档的一个API(应用程序接口). Document类型 文档的子节点 虽然DOM标准规定Document节点的子节点可以是DocumentType,Ele ...
- Javascript高级程序设计学习笔记一
看完w3school的javascript的概念,有点基础,开始红皮书的路程,今晚总结前二章的心得. 第一章:javascript简介 重点是javascript的实现是由 ECMAScript(核心 ...
- JavaScript高级程序设计学习笔记--面向对象的程序设计(二)-- 继承
相关文章: 面向对象的程序设计(一) — 创建对象 http://www.cnblogs.com/blackwood/archive/2013/04/24/3039523.html 继承 继承是OO语 ...
- JavaScript高级程序设计学习笔记第十章--DOM
1.DOM:文档对象模型,是针对 HTML 和 XML 文档的一个 API(应用程序编程接口). 2.DOM 可以将任何 HTML 或 XML 文档描绘成一个由多层节点构成的结构. 3.文档节点是每个 ...
- JavaScript高级程序设计学习笔记第一章
作为学习javascript的小白,为了督促自己读书,写下自己在读书时的提炼的关键点. 第一章: 1.JavaScript简史:Netscape Navigator中的JavaScript与Inter ...
- JavaScript高级程序设计学习笔记之事件
1.事件流 事件流描述的是从页面中接收事件的顺序. 事件冒泡 IE的事件流叫做事件冒泡(event bubbling),即事件开始时由最具体的元素(文档中嵌套层次最深的那个节点)接收,然后逐级向上传播 ...
随机推荐
- 【转】TestFlight APP测试(IOS如何让上架前给其他人测试)
原文网址:http://blog.csdn.net/dexin5195/article/details/43966571 大家都知道, 以前iOS项目要测试只需要上传到testflightapp.co ...
- PL/SQL Developer 11 64bit 安装和配置
安装后, 1. 解压 instant client 到plsql developer 的安装目录 注意, 此版本只支持 instantclient_11_x, 不支持 instantclient ...
- 将函数传给webworker
var zWorker = function (func,cb){ var node = document.createElement('script'),workerId='worker' + Da ...
- Wabpack系列:在webpack+vue开发环境中使用echarts导致编译文件过大怎么办?
现象,在一个webpack+vue的开发环境中,npm install echarts --save了echarts,然后在vue文件中直接使用 import echarts from 'echart ...
- TF400916错误修复办法
在使用TFS作为研发过程管理工具的时候,如果调整了工作项的状态信息,可能会出现下面的错误: 要解决此问题非常简单: 1.找一台安装了VS2015程序的环境.因为我们使用的是TFS2015,所以需要对应 ...
- shell 使用
echo -e "1\t2\t3" #-e echo -e "\e[1;31m This is red text \e[0m" #color echo -e & ...
- Java应用程序项目的打包与发行(run.bat形式)
参考: http://www.iteye.com/topic/57312 背景: 以前一直都是在eclipse上面创建应用程序,每次要要运行的时候都要打开eclipse, 直到有个同事叫我帮忙写一个应 ...
- Javascript中判断数组的正确姿势
在 Javascript 中,如何判断一个变量是否是数组? 最好的方式是用 ES5 提供的 Array.isArray() 方法(毕竟原生的才是最屌的): var a = [0, 1, 2]; con ...
- java并发:线程同步机制之计数器&Exechanger
第一节 CountDownLatch (1)初识CountDownLatch (2)详述CountDownLatch CountDownLatch是通过一个计数器来实现的,计数器的初始值为线程的数量. ...
- 使用Redis做预定库存缓存功能
最近在自己的工作中,把其中一个PHP项目的缓存从以前的APC缓存逐渐切换到Redis中,并且根据Redis所支持的数据结构做了库存维护功能.缓存是在业务层做的,准确讲应该是在MVC模型中Model的O ...