H5新API知識點

HTML5新增API

canvas

  • 可視化數(shù)據
  • 特效 banner
  • 游戲
  • 模擬器(在線PS、在線編輯器)
  • 地圖

SVG

定義

矢量圖工具, 繪圖
SVG在H5標準之前就有了, IE對SVG的兼容性非常好

svg與canvas區(qū)別

  • canvas位圖, svg是矢量圖
  • canvas使用JavaScrpt繪圖, svg使用XML來繪圖
  • canvas不支持事件(借助庫) svg支持事件

svg的應用領域

  • 矢量圖標
  • 地圖

SVG的使用

  • <svg>
  • <rect>
  • <circle>
  • <line>
  • <path>
  • <ellipse>
  • <polygon>
  • .....

HTML中使用SVG

  • 在html中直接寫 <svg>
  • <embed src="" type="image/svg+xml" width="" height="">
  • <object data="" type="image/svg+xml" width="" height="">
  • <iframe src="">

地理定位 geolocation

navigator.gentlocation

  • getCurrentPosition(successCallback, errorCallback, options) 獲取當前的地理位置
  • watchPosition(successCallback, errorCallback, options) 監(jiān)聽地理位置變化
  • clearWatch() 停止位置監(jiān)聽

position對象

獲取位置成功會調用 successCallback回調函數(shù), 自動接收position對象

  • coords

    • longitude 維度
    • latitude 精度
    • altitude 海拔
    • handing 前進方向
    • speed 速度
    • altitudeAccuracy 海拔經度
    • accuracy 坐標經度
  • timestamp 時間戳

error對象

獲取位置失敗,調用errorCallback回調,調用 error對象

  • code 錯誤代碼
  • message 錯誤信息

選項 options

  • timeout 超時時間
  • enableHighAccuracy 是否最優(yōu)
  • maxmunAge 最大緩存時間

注意

  • chrome瀏覽器只有在https方式下打開的網頁才能獲取地理位置
  • 手上上的大部分瀏覽器,微信 也要求https 才能獲取位置

多媒體

相關標簽

  • <video> 視頻
  • <audio> 音頻
  • <source>
  • <track>

DOM(video/audio)

  • 屬性
    • volume 音量
    • muted 是否靜音
    • ....
  • 方法
    • play()
    • pause()
    • .....
  • 事件
    • onplay
    • ....

視頻插件

  • ckplayer
  • jplayer
  • flowplayer
  • video.js
  • flv.js

拖拽

屬性

  • draggable 設置為true 元素就可以被拖拽

事件

  • ondrag
  • ondragstart
  • ondragend
  • ondragenter
  • ondragleave
  • ondragover
  • ondrop

dataTransfer

  • 獲取 是dragEvent的屬性
  • getData()
  • setData()
    拖拽實例
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        #box{
            width:500px;
            height:300px;
            border:1px solid #ccc;
            padding:10px;
            margin-bottom:20px;
        }
        #drag_box{
            width:100px;
            height:100px;
            border:1px solid #ccc;
            background:orange;
        }
    </style>
</head>
<body>
    <div id="box" ondrop="drop()" ondragover="dragover(event)"></div>
    <div id="drag_box" draggable="true" ondragstart="dragstart(event)"></div>
    ![](http://upload-images.jianshu.io/upload_images/6178068-c83b325f87cebd21.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
    <script>
        function dragstart(en){
            console.log(en);
        }

        function drop(){
            document.getElementById("box").appendChild(document.getElementById("drag_box"));
        }

        function dragover(en){
            en.preventDefault(); //阻止默認事件
        }
    </script>
</body>
</html>
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容