html5之api,HTML5之API(示例代码)

HTML5就是牛,可以直接播放音视频,还可以作图;

一、HTML5中播放视频和音频:

加载时直接播放音频的方式:new Audio("BY2.mp3").play();

f920161e47b046a2bdbdbffd4c6c9f14.jpg

d9bca879169e456abde5d46613bf70a8.jpg

播放器

视频

音频

var video = $("#mp")[0];

video.play();

简单播放器

二、可伸缩的矢量图形SVG:

Scalable Vector Graphics: 可伸缩Scalable是因为画的图是分辨率无关的;

一个简单的SVG时钟:

SVG时钟

12

6

9

3

css:#clock{stroke:black;stroke-linecap:round;

}g>text{font-family:sans-serif;font-size:6pt;

}

js:

function updateTime(){

var now = new Date();

var second = now.getSeconds();

var min = now.getMinutes();

var hour= (now.getHours()%12)+min/60;

var secondangele = second*6; //6°是一秒钟

var minangle = min*6; //6°是一分钟

var hourangle= hour*30; //30°是一小时

$("#hourhand").attr("transform","rotate("+hourangle+",50,50)");

$("#minutehand").attr("transform","rotate("+minangle+",50,50)");

$("#secondhand").attr("transform","rotate("+secondangele+",50,50)");

}

$(function(){

setInterval("updateTime()", 1000);

});

三、HTML5的

IE9之前版本的浏览器不支持;

修改绘制的图形就必须把当前的擦除在重新绘制,而使用SVG绘制的图形,可以通过简单的移除相应的元素来修改图片;

JS:

var c = $("#my_canvas")[0].getContext(\'2d\');

c.beginPath();

//画线

c.lineTo(100,100);

//画圆 圆心x,y 半径r 开始和结束角度,弧形方向

c.arc(x,y,r,0,2*MATH.PI,false);

//画矩形 四个参数 左上顶点,长和宽;

c.fillRect(); c.strokeRect(); c.clearRect();c.rect()

四、获取地理位置:

function loc(){

if(navigator.geolocation){

var options = {

timeout:50000

};

var successCallback = function(pos){

$("#loc").html(pos.coords.accuracy+" meters latitude: "+

pos.coords.latitude+" longitude:"+ pos.coords.longitude);

};

var errorCallback = function(e){

$("#loc").html(e.code+":"+e.message);

};

// 获取当前位置

navigator.geolocation.getCurrentPosition(successCallback, errorCallback, options)

}

};

//监测当前位置

navigator.geolocation.watchPosition(successCallback, errorCallback, options);

//停止监视位置

navigator.geolocation.clearWatch();

五、Web Worker:

解决客户端javaScript无法多线程的问题;Worker是指执行代码的并行线程;

一个简单的例子:

1、HTML代码:

Web Worker

100000*10000循环

WebWorker----100000*10000循环

2、js代码:

f920161e47b046a2bdbdbffd4c6c9f14.jpg

d9bca879169e456abde5d46613bf70a8.jpg

functioncomputer(){var start= newDate().getTime();var num = 1;for (var int = 1; int < 100000; int++) {for (var int2 = 0; int2 < 100000; int2++) {

num= int+num;

}

}var end = newDate().getTime();

$("#result").html("计算结果:" +num + "==耗时:"+ (end-start));

}functioncomputerWorker(){var start = newDate().getTime();var worker = new Worker(\'myworker.js\');

worker.postMessage(100000);var end = newDate().getTime();

worker.onmessage= function(e){var num =e.data;

$("#resultWorker").html("计算结果:" +num + "==耗时:"+ (end-start));

}

}

JS代码

f920161e47b046a2bdbdbffd4c6c9f14.jpg

d9bca879169e456abde5d46613bf70a8.jpg

onmessage = function(e){

console.log(e);

postMessage(computerNum(e.data));

};functioncomputerNum(numData){

console.log(numData);var num = 1;for (var int = 1; int < 100000; int++) {for (var int2 = 0; int2 < 100000; int2++) {

num= int+num;

}

}returnnum;

}

myworker.js

通过Worker()构造函数创建的新的Worker的时候,指定包含的JS代码会运行在一个全新的javaScript环境中,与其创建者脚本隔离;该新的运行环境有一个全局对象WorkerGlobalScope;WorkerGlobalScope有所有JavaScript全局对象拥有的那些属性,如JSON对象 isNaN函数和Date构造函数等,其还拥有一些客户端Window的一些属性,如self location navigator和几种计时器方法 setTimeout setInterval()等;测试时发现不支持doucment.get*等函数,可能还不支持文档交互,但是已经支持log输出(chrome);

六、二进制数据Blob和文件系统API:

1、Blob对象是JavaScript中代表二进制数据的对象;提供了操作二进制数据的接口,在其基础上,实现了FielList对象、File对象、FileReader对象等操作文件的API;在支持的浏览器中,元素上的files属性就是一个FileList对象,代表多个File对象,一个Flle对象就是一个Blob对象;FileReader对象可以访问Blob中的字符或字节;

f920161e47b046a2bdbdbffd4c6c9f14.jpg

d9bca879169e456abde5d46613bf70a8.jpg

文件上传

functionfileInfo(files){for (var int = 0; int < files.length; int++) {var reader = newFileReader();

reader.readAsText(files[int]);

reader.οnlοad= function(){

console.log(reader.result);

};

reader.οnerrοr= function(e){

console.log("Error",e);

};

}

}

一个读取文件的小例子

2、创建或获取Blob的方法:

1、var bb = new Blob("text is hhh"); //传入字符创建新的blod;

2、bb = new BlobBuilder(); bb.append("text is hhhh"); //方便追加字符;

3、bb.silce(0,1024); //将Blob对象按照字节分块,返回新的Blob对象;

3、Blob URL:操作Blob,通过createObjectURL(blob)创建一个URL指向改Blob;

4、操作本地文件系统:

一、获取一个表示本地文件系统的对象:

1、Web Worker中使用 var fs = requestFileSystemSync(PERSISTENT,1024*1024); //传入有效期和大小参数;

2、使用全局函数获取:

varfilesystem;

requestFileSystem(TEMPORARY,50*1024*1024,function(fs){

filesystem=fs;

},functionerror(e){

console.log(e);

});

3、操作文件:测试时,不能操作啊!

七、WebSocket:

浏览器端代码:

f920161e47b046a2bdbdbffd4c6c9f14.jpg

d9bca879169e456abde5d46613bf70a8.jpg

聊聊

window.οnlοad= function(){varnick=prompt("who are you?");varinput=document.getElementById("input");

input.focus();vardiv=document.createElement("div");

document.body.insertBefore(div, input);varsocket= newWebSocket("ws://10.7.6.7/");

input.οnchange= function(){varmsg=nick+":"+input.value;

scoket.send(msg);varnode=document.createTextNode(msg);

div.appendChild(node);

input.value= "";

};

input.onmessage= function(event){varmsg=event.data;varnode=document.createTextNode(msg);

div.appendChild(node)

input.scrollIntoView();

};

}

chat.html

node服务端代码:

f920161e47b046a2bdbdbffd4c6c9f14.jpg

d9bca879169e456abde5d46613bf70a8.jpg

var http = require("http");var ws = require("webscoket-server");var httpserver = newhttp.Server();var clientui = require(\'fs\').readFileSync("webchat.html");

httpserver.on("request",function(request,response){if(request.url ==="/"){

response.writerHead(200,{"Content-Type":"text/html"});

response.write();

response.end();

}else{

response.writeHead(404);

response.end();

}

});var wsserver =ws.createServer({server:httpserver});

wsserver.on("connection",function(socket){

scoket.send("w t caht room");

socket.on("message",function(msg){

wsserver.broadcast(msg);

});

});

wsserver.listen(8000);

scoket.js

聊聊

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/508222.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

电子计算机时代 英语,2018年英语专四作文范文:计算机时代

2018年英语专四作文范文&#xff1a;计算机时代1.近年来&#xff0c;计算机的应用越来越广泛2.计算机能做许多有益的事3.计算机也有许多副作用范文&#xff1a;In recent years, computers have grown in popularity. You can find them notonly in the universities but on fa…

cad2010多个文件并排显示_便携式显示器清晰度参数,你知道吗?

便携式显示器清晰度是十分重要的&#xff0c;那么影响便携式显示器清晰度的参数有哪些呢&#xff1f;一起跟随诚易盛小编去看看&#xff0c;感谢大家阅读&#xff01;戳这里直达上文aosiman便携式显示器 15.6英寸1、屏幕尺寸有多少人认为&#xff0c;屏幕越大就越清晰的?其实不…

xp计算机用户密码设置,XP电脑开机密码怎么设置?

电脑开机密码是在我们打开电脑后输入正确的密码后才能启动操作系统。手机上的密码我们都会设置&#xff0c;那么你们知道怎么给电脑设置开机密码呢?接下来&#xff0c;小编就教大家设置电脑开机密码&#xff0c;一起来看一下吧电脑开机密码如何设置呢&#xff1f;由于网络安全…

计算机网络纠错码,纠错码

纠错码(error correcting code)&#xff0c;在传输过程中发生错误后能在收端自行发现或纠正的码。仅用来发现错误的码一般常称为检错码。为使一种码具有检错或纠错能力&#xff0c;须对原码字增加多余的码元&#xff0c;以扩大码字之间的差别 &#xff0c;即把原码字按某种规则…

fopen_s不接受两个参数_如何利用SPC来管理制造过程,不懂SPC还敢混“质”场?

请点击上面  免费关注本账号&#xff01;必读 → 2019年4-5月开课计划(IASC-CN俱乐部)PC是汽车行业品质管理的重要工具之一&#xff0c;AIAG为此写了一整本书。这篇文章略去SPC一些基础知识的介绍&#xff0c;直接来讲一下应如何利用SPC来管理一个制造过程。I. SPC的应用范围…

台式计算机装系统,教你台式电脑重装系统方法

台式电脑重装系统对于大部分用户都会因为台式电脑重装系统一般都不需要修改设置&#xff0c;所以重装系统就不那么麻烦了&#xff0c;通常情况下大家都会使用下面教你们的第一种台式电脑重装系统方法&#xff0c;因为这种方法是傻瓜式的重装教程&#xff0c;所以小编在下文中就…

江苏师范大学计算机全国排名,国内131所二本师范大学最新排名(按录取分数线)...

每年高考录取结束后&#xff0c;“文科生可以考哪些师范大学&#xff0c;这些学校的排名怎么样”都是大家关注的热门问题&#xff0c;小编根据安徽省考试院与圆梦志愿的数据&#xff0c;整理出所有二本师范大学2020年在安徽省文科的分数线排名&#xff0c;希望能够给大家带来参…

3w最简单led灯电路图_Mixly 第19课 光感应灯——光敏电阻使用

第19课 光感应灯——光敏电阻使用光敏电阻器又叫光感电阻&#xff0c;是利用半导体的光电效应制成的一种电阻值随入射光的强弱而改变的电阻器&#xff1b;入射光强&#xff0c;电阻减小&#xff0c;入射光弱&#xff0c;电阻增大。光敏电阻器一般用于光的测量、光的控制和光电…

arcgis xml 下载 切片_openlayers6结合geoserver利用WFS服务实现图层编辑功能(附源码下载)...

内容概览1.openlayers6结合geoserver利用WFS服务实现图层编辑功能2.源代码demo下载效果图如下&#xff1a;本篇主要是参照openlayers6结合geoserver利用WFS服务实现图层新增功能(附源码下载)基础上实现的&#xff0c;openlayers6通过调用geoserver发布的地图服务WFS来达到图层编…

存储性能测试软件怎么用的,《杉岩两语》:Vdbench在分布式存储性能测试中的使用方法...

Vdbench是Oracle编写的一款应用广泛的存储性能测试工具&#xff0c;既支持块设备的性能测试&#xff0c;也支持文件系统性能测试。Vdbench使用java编写&#xff0c;兼容linux和windows的操作系统&#xff0c;使用方便。1、Vdbench使用及结果参看使用vdbench时需要先安装java的j…

计算机键盘练习,电脑键盘指法练习

电脑键盘指法练习就像使用筷子&#xff0c;只有掌握了正确的指法&#xff0c;夹东西才稳。对于电脑键盘也一样&#xff0c;只有掌握了正确的指法&#xff0c;打字速度才会快。以下百分网小编整理的电脑键盘指法练习介绍&#xff0c;希望对大家有所帮助&#xff0c;更多信息请关…

c语言 数组、字符串的形参格式_华中师范大学计算机考研874C语言笔记(一)

运算符优先级自右向左记忆口诀条件赋值自增减&#xff08;?: //- -- &#xff09;指针取址按位反 (* & ~)内存非负强制转 (sizeof ! - (type))define 前面的#标志着define是一个【预处理命令】而不是C语句。高字节在【高地址】存储单元&#xff0c;低字节在【低地址】存储…

前端分页_前端分页

1、适合情形前端分页一般用于数据量较小的情况&#xff0c;一次请求把数据全部从后端请求回来。2、前端分页例子前端分页代码示例​github.comcd front-end-page 进入front-end-page 文件夹下npm install 安装依赖npm run dev …

服务器分发系统如何做性能测试,怎么做软件性能测试,完整的性能测试流程有哪些内容?...

原标题&#xff1a;怎么做软件性能测试&#xff0c;完整的性能测试流程有哪些内容&#xff1f;一、做性能测试前的准备工作1.要清楚服务器的ip地址和账号密码(目的是用于监控)2.服务器的系统是什么3.是否需要多级联合4.服务器一共有几台5.了解服务器的配置情况6.本机的配置(16g…

cocos怎么把res文件夹放服务器上,cocos2d 三合一跑胡子房卡+服务器组件+后台控制+安装教程+棋牌完整源码...

cocos2d 三合一跑胡子房卡服务器组件后台控制棋牌完整源码安装方法&#xff1a;1将工程下的res和src目录复制到version/fromSource 目录中2使用cocos2dx命令 把src目录下的js文件转换成jsc文件在fromSource目录下执行cocos jscompile -s . -d .3删除掉src目录下的js 文件 只保留…

优秀自我简介200字_急需稿件,稿费200元起/篇 | 公众号【深夜秘杏酱】长期征稿(可签约)...

“深夜秘杏酱”征稿函新号大量收稿 欢迎写手大大们踊跃投稿哦Hi&#xff01;我们是一个专注女生性知识科普及女生情感生活的新号——深夜秘杏酱&#xff01;我们希望能在这个新成立的公众号上跟各位小姐姐分享各种搞怪有趣但又干货满满的性知识,一起偷摸“开车”&#xff0c;顺…

kafka中topic默认属性_分享:Kafka 的 Lag 计算误区及正确实现

前言消息堆积是消息中间件的一大特色&#xff0c;消息中间件的流量削峰、冗余存储等功能正是得益于消息中间件的消息堆积能力。然而消息堆积其实是一把亦正亦邪的双刃剑&#xff0c;如果应用场合不恰当反而会对上下游的业务造成不必要的麻烦&#xff0c;比如消息堆积势必会影响…

手机系统安装打印机服务器错误代码,OKI打印机报错?各型号代码故障解决方法...

原标题&#xff1a;OKI打印机报错&#xff1f;各型号代码故障解决方法这一期干货贴邀请大家一起看看OKI打印机常见报错代码↓↓↓1、报错代码 610/611/612/613黄色/品红色/青色/黑色碳粉盒未安装产生原因&#xff1a;◆可替代芯片安装不正确、芯片触点上有异物遮挡、鼓组件探针…

python3 批量定义多个变量_Python 3.8 新功能大揭秘

Python 3.8是Python语言的最新版本&#xff0c;它适合用于编写脚本、自动化以及机器学习和Web开发等各种任务。现在Python 3.8已经进入官方的beta阶段&#xff0c;这个版本带来了许多语法改变、内存共享、更有效的序列化和反序列化、改进的字典和更多新功能。Python 3.8还引入了…

div独占一行 html_web前端基础-HTML及CSS选择器

HTML及CSS选择器一、html基本结构二、html标签1、标题标签2、a标签3、img标签4、div和span标签5、列表标签6、表格标签7、form表单8、select下拉框标签9、textarea标签三、CSS1、css样式引入方式2、标签嵌套3、css选择器一、html基本结构html是一种超文本标记语言&#xff0c;进…