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绘图的更多相关文章

  1. H5新特性——--第三方绘图工具库 echarts(canvas)---SVG绘图

    今天学习的内容 3.1:h5新特性---第三方绘图工具库 echarts(canvas) 百度 echarts;d3;two.js;.... 3.2:h5新特性---SVG绘图 3.2:h5新特性-- ...

  2. 前端面试基础-html篇之H5新特性

    h5的新特性(目前个人所了解)如下 语义化标签 表单新特性 视频(video)和音频(audio) canvas画布 svg绘图 地理定位 为鼠标提供的拖放API webworker (重点)Stor ...

  3. H5新特性总结

    Web前端最新的官方标准无疑就是es6和H5了,es6之前已经说过了(多是一些语法糖),现在来总结一下H5给我们来了哪些新“朋友”吧~ 1.video/radio  视频/音频 2.canvas 绘画 ...

  4. H5新特性汇总

    H5新特性: 新增选择器 document.querySelector.document.querySelectorAll 拖拽释放(Drag and drop) API 媒体播放的 video 和 ...

  5. H5新特性---Web Worker---Web Stroage

    今天的目标 3.1:h5新特性八--Web Worker---代码就3行 程序:program 存储在外存(磁盘)中代码 进程:Process/Task 将程序调用内存中,分配空间 线程:Thread ...

  6. H5新特性--WebStorage--WebSocke

    今天的目标 3.2:h5新特性--WebStorage localStorage  在客户端浏览器保存数据 永久保存 保存数据 localStorage [key] = value 保存数据 loca ...

  7. H5新特性---SVG--椭圆--直线--文本--滤镜(高斯滤镜--模糊)--地理定位

    今天的目标 3.1:h5新特性--SVG--椭圆 <ellipse rx="" ry=""  cx="" cy="" ...

  8. H5新特性实现对class的增删改

    直接撸代码 全靠死记硬背 没什么技术点 HTML部分 <!DOCTYPE html> <html lang="en"> <head> <m ...

  9. Atitti html5 h5 新特性attilax总结

    Atitti html5 h5 新特性attilax总结 Attilax觉得不错的新特性 3.语义Header和Footer (The Semantic Header and Footer) 8.占位 ...

随机推荐

  1. python类的动态属性设置

    需求:根据入参,动态添加设置类的属性 实现: self.__setattr__ self.__getattribute__

  2. mount.cifs permission denied

    [root@dev ~]# mount.cifs //192.168.9.155/APP /mnt/APP/ -o user=administrator,pass=dsff#$TTT 在检查帐号密码权 ...

  3. php连接mysql(linux下)

    一开始尝试了各种办法,.so文件拷贝了很多地方都失败了, 最后才知道 是编译php 没有开放 mysql ./configure --prefix=/usr/local/php5 --with-apx ...

  4. VB6 Collection实现百万文本去重

    上一篇数组的去重说到,对于千次计算以上的去重基本上特别的吃力,这里就介绍一种方法,通过Collection集合对象来过滤重复. Option Explicit '//By: InkHin '// 参考 ...

  5. ARTS打卡计划第一周-Review

    本周分享的文章来自于medium的 Testing Best Practices for Java + Spring Apps 这个文章主要讲的是java测试的一些最佳实践 1.避免函数返回void, ...

  6. SpringCloud-day08-Hystrix断路器

    8.Hystrix断路器 8.1.Hystrix简介 在分布式环境中,许多服务依赖项中的一些必然会失败.Hystrix是一个库,通过添加延迟容忍和容错逻辑,帮助你控制这些分布式服务之间的交互. Hys ...

  7. PHP拦截器之__set()与__get()的理解与使用方法

    “一般来说,总是把类的属性定义为private,这更符合现实的逻辑.   但是,对属性的读取和赋值操作是非常频繁的,因此在PHP5中,预定义了两个函数“__get()”和“__set()”来获取和赋值 ...

  8. 布署配置管理中心apollo

    Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境.不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限.流程治理等特性,适用于微服务配置管理场景. 服 ...

  9. View控件跟随鼠标移动

    public boolean onTouch(View view, MotionEvent motionEvent) { if(motionEvent.getAction() == MotionEve ...

  10. 【转载】python中not,and,or的优先级问题及用法

    作业: >>> print(5<4 or 3)3>>> print(2>1 or 6)True>>> print(5>1 and ...