zoukankan      html  css  js  c++  java
  • 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="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 媒体元素
    
      忽略,应用中比较少
    
    */
    

      

  • 相关阅读:
    转 mysql 数据结构详解
    转单元测试之道C#版
    转 告诉你如何用C#写出iOS与Android应用
    转 MySQL索引背后的数据结构及算法原理
    转单元测试基础知识
    转C#冒泡排序
    如何让web页面鼠标右键单击之后不出现菜单选项
    开博文
    jquery ui 1.7 ui.tabs 动态添加与关闭(按钮关闭+双击关闭)
    jquery ui tabs详解(中文)
  • 原文地址:https://www.cnblogs.com/ms_senda/p/11517928.html
Copyright © 2011-2022 走看看