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),即事件开始时由最具体的元素(文档中嵌套层次最深的那个节点)接收,然后逐级向上传播 ...
随机推荐
- mysql新建用户的方法
新增 insert into mysql.user(Host,User,Password,ssl_cipher,x509_issuer,x509_subject) values("local ...
- 修改Esxi克隆的CentOS的IP地址
1.读取/etc/udev/rules.d/70-persistent-net.rules文件中eth1的MAC地址. 2.编辑文件 /etc/sysconfig/network-script/ifc ...
- JS对异步循环使用递归
场景:有一个函数接收一个URL的数组,要求依次下载每个文件直到所有文件被成功下载. 如果API是同步的,很容易使用一个循环来实现 var downloadAllSync = function(urls ...
- JS多异步之间的协作方案
场景:使用工具函数downloadAllAsync接收一个URL数组并下载所有文件,结果返回一个存储了文件内容的数组,每个URL对应一个字符串. 好处:downloadAllAsync并不只有清理嵌套 ...
- 使用LocalBroadcastManager
Android中BroadcastReceiver主要用途有 发送通知,更新UI或者数据,应用程序间相互通信,监听系统状态(比如开机,网络等) Android中BroadcasetReceiver的注 ...
- 数据字典生成工具之旅(4):NPOI操作EXECL
这篇会介绍NPOI读写EXECL,读写EXECL的组件很多,可以使用微软自己的COM组件EXECL.exe读写,不过这种方式限制很大. 1:客户环境必须装Office(虽然现在机子上不装Office的 ...
- 在CentOS上部署基于dnx/coreclr的ASP.NET 5应用程序
在Ubuntu上写好了一个简单的ASP.NET 5应用程序,尝试将这个程序部署在没有mono环境的CentOS服务器上. 部署步骤如下: 1)安装libuv(KestrelHttpServer需要它) ...
- C语言之Sleep函数
Sleep函数: 功 能: 执行挂起一段时间 用 法: unsigned sleep(unsigned seconds); 注意: 在VC中使用带上头文件#include <windows.h& ...
- [转]acm忠告
多做难题 如果你去问那些牛人“这道题你是怎么想到要用XXX方法的”,我估计大部分人都说不出个所以然来.其实很多情况下都是纯凭直觉考虑到的数个思维方向,这种直觉是需要大量的练习来得到的,没有那么多“为什 ...
- EditPlus v4.5 简体中文
优秀的代码编辑器! 下载地址: EditPlus v4.00 build 465 简体中文汉化增强版 http://yunpan.cn/cVCSIZsKK7VFF 访问fe58 http://p ...