javascript权威指南第16章 HTML5脚本编程
<!DOCTYPE html>
<html> <head>
<script type="text/javascript" src="HTML5Script.js"></script>
<script type="text/javascript" src="EventUtilExt.js"></script>
</head> <body>
<iframe src="htt://www.wrox.com" id="myframe" width="400" height="300"></iframe>
<div aria-busy="true" style="width:600px;height:300px;background-color:honeydew;" draggable="true">
<img src="timg.gif" id="droptarget" draggable="true">
</div>
<div>
<video src="conference.mpg" id="myVideo">Video player not available.</video>
<!-- 嵌入视频 -->
<video id="myvideo">
<source src="conference.webm" type="video/webm;codecs='vp8' vorbis'">
<source src="conference.ogv" type="video/ogg;codecs='theora' vorbis'">
<source src="conference.mpg">
Video player not available.
</video>
<!-- 嵌入音频 -->
<video >
<source src="song.ogg" type="audio/ogg" >
<source src="song.mp3" type="audio/mpeg" >
Video player not available.
</video> </div>
<script type="text/javascript"> EventUtilExt.addHandler(window, 'message', function (event) {
//确保发送消息的域是已知域
if (event.origin == 'http://www.wrox.com') {
//处理接收到的数据
processMessage(event.data);
//可选:向来源窗口发送回执
event.source.postMessage('Received', 'http://p2p.wrox.com');
}
}); var iframewindow = document.getElementById("myframe").contentWindow; iframewindow.postMessage("A secret", "http://www.wrox.com"); </script>
</body> </html>
//第16章 HTML5脚本编程
//16.1 跨文档消息传递 //HTML5Scrip.html //16.2 原生拖放
//16.2.1 拖放事件 拖动过程触发的事件
//dragstart
//drag
//dragend //当某个元素被拖动到一个有效的放置目标上时,下列事件会依次发生
//dragenter
//dragover
//dragleave or drop //16.2.2 自定义放置目标
//添加监听事件,禁止事件冒泡传播触发原生事件
var droptarget =document.getElementById('droptarget'); EventUtilExt.addHandler(droptarget,'dragover',function(event){
EventUtilExt.preventDefault(event);
}); EventUtilExt.addHandler(droptarget,'dragenter',function(event){
EventUtilExt.preventDefault(event);
}); EventUtilExt.addHandler(droptarget,'drop',function(event){
EventUtilExt.preventDefault(event);
}); //16.2.3 dataTransfer 对象
// dataTransfer对象有两个主要方法 getData() 和 setData()
// 该对象只有在拖放事件中访问 如下示例
// var dataTransfer = event.dataTransfer;
// dataTransfer.setData('url','http://www.wrox.com');
// dataTransfer.getData('url'); //16.2.4 dropEffect 与 effectAllowed
//利用dataTransfer对象,还可以接收 dropEffect 和 effectAllowed 属性
// dropEffect 属性值枚举
//none 不能把拖动的元素放在这里,这是除文本框之外所有的元素的默认值
//move 应该把拖动的元素移动到放置目标
//copy 应该把拖动的元素复制放放置目标
//link 应该放置目标会打开拖动的元素 //dropEffect属性只有搭配effectAllowed 属性才有用。effectAllowed属性表示
//允许拖动元素那种dropEffect. effectAllowed的值枚举
//unitnitialized 没有给被拖动的元素设置任何放置行为
//none 被拖动的元素不能有任何行为
//copy 只允许值为copy 的dropEffect
//link 只允许值为link 的dropEffect
//move 只允许值为move 的dropEffect
//copyLink 只允许值为copy和link 的dropEffect
//copyMove 只允许值为copy和move 的dropEffect
//linkMove 只允许值为link和move 的dropEffect
//all 允许任意dropEffect
//必须在ondragstrart事件处理程序设置effectAllowed属性 //16.2.5 可拖动
// <img src="timg.gif" id="droptarget" draggable="true"> //16.2.6 其他成员
/*
HTML5规范规定dataTransfer 对象还包含下列方法和属性。 addElement(element) 为拖动元素添加一个元素。添加这个元素只影响数据(即增加作为拖动源而响应回调对象),
不会影响拖动操作时页面元素的外观。 clearData(format) 清除以特定格式保存的数据 setDragImage(element,x,y) 指定一幅图像,当拖动时发生,显示在光标下方 types 当前保存的数据类型 */ /*
16.3 媒体元素 忽略,应用中比较少 */
javascript权威指南第16章 HTML5脚本编程的更多相关文章
- javascript权威指南第11章 DOM扩展
//javascript 权威指南 第三版 第11章 DOM扩展 //取得body元素 var body = document.querySelector("body"); //取 ...
- 【笔记】javascript权威指南-第六章-对象
对象 //本书是指:javascript权威指南 //以下内容摘记时间为:2013.7.28 对象的定义: 1.对象是一种复合值:将很多值(原始值或者对象)聚合在一起,可以通过名字访问这些值. ...
- 【笔记】javascript权威指南-第三章-类型,值和变量
javascript中的原始类型和对象类型(基本类型和引用类型) //本书是指:javascript权威指南 //以下内容摘记时间为:2013.7.27 计算机程序运行时需要对值(value ...
- javascript权威指南第14章 表单脚本示例代码
HTML部分 <!DOCTYPE html> <html> <head> <title></title> </head> < ...
- JavaScript权威指南--第3章 类型、值和变量
在编程语言中,能够表示并操作的值(value)的类型称作数据类型(type).使用变量来储存值.JavaScript中数据类型有两种:原始类型(primitive type/基本数据类型)和对象类型( ...
- javascript权威指南第22章高级技巧
HTML <!DOCTYPE html> <html> <head> </head> <body> <div style=" ...
- javascript权威指南第13章 事件示例代码
html 部分 <!DOCTYPE html> <html> <head> <title>Event Bubling Example</title ...
- 《JavaScript高级程序设计》笔记:HTML5脚本编程(16)
跨文档消息传递 跨文档消息传递(cross-document messaging),有时候简称为XDM,指的是在来自不同域的页面间传递消息.例如,www.wrox.com域中的页面与位于一个内嵌框架中 ...
- JavaScript权威指南第02章 词法结构
词法结构 2.1字符集 JavaScript 是Unicode字符集编写,差点儿支持地球上全部的语言. 2.1.1区分大写和小写 javascript是区分大写和小写的语言. 2.1.2 空格.换行符 ...
随机推荐
- python 之 网络编程(基于UDP协议的套接字通信)
8.5 基于UDP协议的套接字通信 UDP协议:数据报协议 特点:无连接,一发对应一收,先启动哪一端都不会报错 优点:发送效率高,但有效传输的数据量最多为500bytes 缺点:不可靠:发送数据,无需 ...
- K number(思维和后缀以及3的特性)(2019牛客暑期多校训练营(第四场))
示例1: 输入:600 输出:4 说明:'600', '0', '0', '00' are multiples of 300. (Note that '0' are counted twice bec ...
- Spring AOP日志实现(一)
前置通知:获取访问的类,访问的方法,带参数和不带参数的 日志表信息描述字段: 获取访问时长:
- Educational Codeforces Round 61 (Div.2)
A.(c1=0&&c3>0)||(c1!=c4) #include<cstdio> #include<cstring> #include<algor ...
- C#进阶系列——WebApi异常处理解决方案
阅读目录 一.使用异常筛选器捕获所有异常 二.HttpResponseException自定义异常信息 三.返回HttpError 四.总结 正文 为什么说是实践?因为在http://www.asp. ...
- win7 ReadyBoot 文件位置修改
右键我的电脑,依次点开系统工具-性能-数据收集器集-系统-事件跟踪会话 在右边找到ReadyBoot,右键打开属性,会话框上方选择文件,根据示例文件名的路径找到ReadyBoot.etl文件,复制到你 ...
- Windows下编译 Hadoop
Windows下编译 Hadoop-2.9.2 系统环境 系统: Windows 10 10.0_x64 maven: Apache Maven 3.6.0 jdk: jdk_1.8.0_201 Pr ...
- H5之拖拽
步骤: 1.为将要拖拽的元素设置允许拖拽,并赋予dragstart事件将其id转换成数据保存: 2.为容器添加dragover属性添加事件阻止浏览器默认事件,允许元素放置,并赋予drop事件进行元素的 ...
- 铰链joints
Fixed Joint原理像阶层里的父子结构.关节会将对象锁在一个世界坐标或者锁在一个连接的刚体. 固定关节可以设定断裂力道(Break Farce)和断裂扭力(Break torque),破坏关节所 ...
- Zabbix MySQL percona 模板部署
Zabbix MySQL percona服务端执行以下操作https://www.zabbix.com/download?zabbix=4.0&os_distribution=centos&a ...