<!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 媒体元素 忽略,应用中比较少 */

  

最新文章

  1. transformClassesWithDexForDebug
  2. DIV+CSS布局网站基本框架
  3. 可变参数宏__VA_ARGS__和...
  4. JavaScript学习04 对象
  5. js控制固定div和随屏滚动div兼容多浏览器和纯css控制(来自网络)
  6. 深入理解c++中char*与wchar_t*与string以及wstring之间的相互转换 [转]
  7. 【原创】jQuery插件 - Booklet翻书特效教程(一) 一般设置
  8. ZooKeeper系列之八:ZooKeeper的简单操作
  9. 关于html5的几个新标签在IE9之前不支持的解决办法
  10. 使用 zabbix 自动发现监控 MySQL
  11. Angular2响应式表单
  12. python正则表达式与Re库
  13. python脚本处理下载的b站学习视频
  14. JDBC driver连接MySQL运行报错The server time zone value &#39;&#214;&#208;&#185;&#250;&#177;&#234;&#215;&#188;&#202;&#177;&#188;&#228;&#39; is unrecognized or represents more than
  15. what&#39;s the 单例模式
  16. 高可用Hadoop平台-答疑篇
  17. rstful登陆认证并检查session是否过期
  18. ArrayList与List&lt;T&gt;笔记
  19. 在ubuntu下手机无法挂载的问题
  20. 20155333 2016-2017-2《Java程序设计》课程总结

热门文章

  1. spring boot配置文件application.properties配置JPA以及数据源
  2. 阿里云服务器安装mysql8遇到的问题
  3. 1144: 零起点学算法51——数组中删数(C语言)
  4. Yii2 redis 使用方法
  5. 正确使用SQLCipher来加密Android数据库
  6. Python查看模块
  7. Git撤回已经推送(push)至远程仓库提交(commit)的版本
  8. java保证多线程的执行顺序
  9. Android NDK 学习之接受Java传入的Int数组
  10. 多线程之NSOperation简介