H5新特性-视频,音频-Flash-canvas绘图
json格式
json - > AJAX
json:数据格式,通常是以字符串形式表示
对象 {"name":"james","age":19}
数组 [{"name":"tom"},{"name":"jerry"},{"name","james"}]
所有key 必须添加双引号
所有value 如果字符串类型加上双引号
key和value之间 : 分隔
对象与对象之间 ,
常用数据格式:xml json
<books>
<book>
<name>tom</name>
</book>
<book>
<name>jerry</name>
</book>
</books>
验证码:解决网络攻击手段(机器人攻击)
1:动态创建数字图片/字母数字角度/算术/
一组图片/拖动滑块
2:短信(金融)
如何实现功能:
1:创建php动态生成一张图片
2:用户输入图片中字母或数字
js/index.js
3:01_admin_login.php
先把用户输入字母和数字 a001
再把图片中数字获取 $_SESSION["code"]
常见错误
1: syntax error,
<b>C:\xampp\htdocs\h5\admin\data\01_admin_login.php</b> on line <b>10</b><br />
原因:程序第10 行(附近)有语法错误...
2: {"code":1,"msg":"登录成功"}
应该对象 header("Conten....");
3:今天的目标
3.1:h5新特性--视频,音频
视频:网站卖点[腾讯/爱奇艺/优酷/tmooc/抖音/直播..]
3.2:Flash被H5 取代体现的哪些方面?
Flash 绘图 ==>Canvas/SVG
Flash 动画 ==>定时器+Canvas
Flash 视频和视频播放==>video/audio
Flash 客户端存储 ==>WebStorage
3.3:h5新特性--视频播放
h5提供一个新的标签用于播放视频
mp4/mov/webm/ogg
<video src="x.mp4">您的浏览器版本太低,请升级<video>
<video>
<source src="x.mp4" />
<source src="x.mov" />
<source src="x.webm" />
您的浏览器版本太低,请升级
</video>
它本身是一个300*150的inline-block元素
video标签常用属性和成员
autoplay:false 是否自动播放
controls:false 是否显示控件
muted:true 是否静音
poster:"" 在播放第一帧之前显示海报
preload:"" 视频预加载策略
auto: 预加载视频元数据及缓冲一定时长视频
metadata: 只预加载元数据(尺寸,时长,第一帧内容)
none: 不预加载任何数据
###js对象属性###
currentTime: 当前播放时长
paused:true 当前视频是否处理暂停状态
volume:1 当前音量 0~1
playbackRate:1 回放速率 大于1快放,小于1慢播
成员方法:
play(); 播放视频
pause(); 暂停视频
成员事件:
onplay 播放视频
onpause 暂停播放
练习1:不使用video自带controls,自定义播放/暂停按钮
移标移出视频区域,隐藏按钮,鼠标移入视频区域显
示按钮
练习2:只要视频暂停显示一副广告,只要播放,就隐藏广告
周一:弹幕...
3.4:h5新特性--音频播放
h5提供了一个新的标签用于播放音频
<audio src="bg.mp3"></audio>
<audio>
<source src="bg.wav">
<source src="bg.ogg">
<source src="bg.mp3">
</audio>
它默认是一个300*30的inline-block,但若没有controls属性,不可见.
成员属性:事件/方法/属性
autoplay:false 是否自动播放
controls:false 是否显示控件
muted:true 是否静音
preload:"" 视频预加载策略
auto: 预加载视频元数据及缓冲一定时长视频
metadata: 只预加载元数据(尺寸,时长,第一帧内容)
none: 不预加载任何数据
###js对象属性###
currentTime: 当前播放时长
paused:true 当前视频是否处理暂停状态
volume:1 当前音量 0~1
playbackRate:1 回放速率 大于1快放,小于1慢播
成员方法:
play(); 播放视频
pause(); 暂停视频
成员事件:
onplay 播放视频
onpause 暂停播放
练习:使用复选框控制网页背景音乐
cb.onchange = function(){
this.checked
}
3.5 h5新特性--canvas绘图(重点)
网页中走势图,统计图,网页游戏,特效,地图应用都要使用绘图技术。
(1)SVG绘图:2D矢量图绘图技术,2000出现,后纳入h5标
(2)Canvas绘图:2D位图绘图技术,h5 提出绘图技术
(3)WebGL绘图:3D绘图技术,尚未纳入标准
Canvas绘图难点所在:
(1)坐标系
(2)单词比较多
canvas:画布,是h5提供绘图技术
3.6 h5新特性--canvas绘图技术
<canvas width="500" height="400">
您的浏览器版本太低,请升级!!!
</canvas>
canvas标签在浏览器默认300*150的inline-block
注意:画布宽和高只能html/js属性来赋值,
不能用css样式赋值
每个画布上有且只有一个"画笔"对象,
var ctx = canvas.getContext("2d");
(1)使用canvas绘制矩形
矩形的定位在自己左上角
ctx.lineWidth = 1; 描边宽度
ctx.strokeStyle = "#000"; 描边样式
ctx.fillStyle = "#000"; 填充样式
ctx.fillRect(x,y,w,h); 填充一个矩形(实心矩形)
ctx.strokeRect(x,y,w,h); 描边一个矩形
ctx.clearRect(x,y,w,h); 清除一个矩形范围内所有图形
练习1:在画布的左上角,右上角,左下角,右下角,
居中位置 绘制100*80描边矩形(颜色不同)
练习2:在画布上描边一个可以左右移动100*80描边矩形
提示:使用定时器,先清除画布上己有内容,
再重新绘制一个(x不停修改)
上下移动/右角45度..
(2)使用canvas绘制文本
ctx.textBaseline = "alphabetic"; 文本基线
ctx.font = "12px sans-serif"; 文本大小和字体
ctx.fillText(str,x,y); 填充一段文本
ctx.strokeText(str,x,y); 描边一段文本
ctx.measureText(str); 测量文本宽度{width:w}
H5新特性-视频,音频-Flash-canvas绘图的更多相关文章
- H5新特性——--第三方绘图工具库 echarts(canvas)---SVG绘图
今天学习的内容 3.1:h5新特性---第三方绘图工具库 echarts(canvas) 百度 echarts;d3;two.js;.... 3.2:h5新特性---SVG绘图 3.2:h5新特性-- ...
- 前端面试基础-html篇之H5新特性
h5的新特性(目前个人所了解)如下 语义化标签 表单新特性 视频(video)和音频(audio) canvas画布 svg绘图 地理定位 为鼠标提供的拖放API webworker (重点)Stor ...
- H5新特性总结
Web前端最新的官方标准无疑就是es6和H5了,es6之前已经说过了(多是一些语法糖),现在来总结一下H5给我们来了哪些新“朋友”吧~ 1.video/radio 视频/音频 2.canvas 绘画 ...
- H5新特性汇总
H5新特性: 新增选择器 document.querySelector.document.querySelectorAll 拖拽释放(Drag and drop) API 媒体播放的 video 和 ...
- H5新特性---Web Worker---Web Stroage
今天的目标 3.1:h5新特性八--Web Worker---代码就3行 程序:program 存储在外存(磁盘)中代码 进程:Process/Task 将程序调用内存中,分配空间 线程:Thread ...
- H5新特性--WebStorage--WebSocke
今天的目标 3.2:h5新特性--WebStorage localStorage 在客户端浏览器保存数据 永久保存 保存数据 localStorage [key] = value 保存数据 loca ...
- H5新特性---SVG--椭圆--直线--文本--滤镜(高斯滤镜--模糊)--地理定位
今天的目标 3.1:h5新特性--SVG--椭圆 <ellipse rx="" ry="" cx="" cy="" ...
- H5新特性实现对class的增删改
直接撸代码 全靠死记硬背 没什么技术点 HTML部分 <!DOCTYPE html> <html lang="en"> <head> <m ...
- Atitti html5 h5 新特性attilax总结
Atitti html5 h5 新特性attilax总结 Attilax觉得不错的新特性 3.语义Header和Footer (The Semantic Header and Footer) 8.占位 ...
随机推荐
- react-native-table-component, react-native 表格
使用 react-native-table-component, 加上 FlatList 组件,实现可以下拉刷新,上拉加载的demo import React, { Component } from ...
- Maven项目强制更新,解决Failed to read artifact descriptor for xxx.jar问题
导入的maven项目pom.xml现红叉 分析原因:在maven本地仓库中找不到相应的jar包. 解决方案:让maven强制更新依赖. 项目右击菜单,Maven -> Update Projec ...
- __proto__、prototype和原型对象
一.__proto__ 对象内部存在一个指针,用来指向上一层函数的原型对象.ECMA-262第五版中关这个指针叫[[prototype]],但Firefox.Safari和Chrome在每个对象上都支 ...
- Linux 操作命令
1. Linux 概述1.1. 内核版本 从技术角度来讲, Linux只是一个系统内核,一个内核并不是一套完整的操作系统.一套完整的操作系统应该包括内核. GNU应用程序库和工具.图形桌面环境等 ...
- CamStar insitexmlclient重新封装为.net Core类库
工作原因经常使用camstar的 InsiteXMLClient类库做二次开发,但是只能在4.X环境下使用,对于日益繁荣的.net core生态,花费了些时间把原有的类库重新封装为.net core ...
- Python中函数和方法的区别
方法是一种特殊的函数属于某个类的的函数叫方法不属于某个类的函数叫函数 转自csdn https://blog.csdn.net/weixin_40380298/article/details/7825 ...
- Window下安装Scala出现:此时不应有 \scala\bin\..\lib\jline-2.14.5.jar
scala默认安装到了Program Files (x86)文件夹下.目录中有空格,空格就是导致这个问题的根本原因 把scala安装到其他目录即可 配置scala环境 在环境变量的系统变量里面添加SC ...
- 【转】未能加载文件或程序集“XXX”或它的某一个依赖项。试图加载格式不正确的程序。
“/xxxxx”应用程序中的服务器错误. ------------------------------------------------------------------------------- ...
- BOOST_PREVENT_MACRO_SUBSTITUTION
[BOOST_PREVENT_MACRO_SUBSTITUTION] 用于防止函数被macro替换的问题. 例如: 参考: 1.https://blog.csdn.net/yanxiangtianji ...
- 操作CSS样式公共方法库
项目中常用的一些方法,我们都封装到公共方法库 let utils = (function () { //=>获取元素的样式 let getCss = function (curEle, attr ...