精华内容
下载资源
问答
  • 在Chrome的原生HTML5视频播放器中添加键盘支持。 此扩展添加了广泛的键盘控件列表,以改善您的观看体验。 快捷方式仅在启用了默认控件的视频上有效,因此不必担心它们会干扰YouTube或其他高级视频播放器。 要在没有...
  • 原生html5,js利用localStorage写的历史输入预选(仿百度)
  • 隐藏原生html5 video controls 凤凰视频焦点项目mobile html5播放器测试时bug,由于没有用原生的controls而是自己写的custom controls,虽然设置了controls的值为false,但实际情况是比如暂停还是存在,导致与custom的...

    隐藏原生html5 video controls

    凤凰视频焦点项目mobile html5播放器测试时bug,由于没有用原生的controls而是自己写的custom controls,虽然设置了controls的值为false,但实际情况是比如暂停还是存在,导致与custom的重叠. 协助同事解决这个bug时还好找到了这篇文章(有空完整翻译下.=.=)
    Hiding Native HTML5 Video Controls in Full-Screen Mode
    ------------------------------
    呐,解决办法就是

    video::-webkit-media-controls {
      display:none !important;
    }

    没错css,知道真相后泪流不止啊.这么设置后即使没有设置controls为false,native controls也不会再出现了.

    参考
    html5 video api
    video属性及方法列表

    转载于:https://www.cnblogs.com/kite-Runner/p/4254709.html

    展开全文
  • 原生html5+css3响应式菜单导航,兼容各种设备。很好用,可以直接拿来修改!效果和视觉都不错的说!
  • 现在移动HTML5动画效果越来越多,也越来越牛叉 已经几乎可以代替flash曾经在网页的各种动画效果了 今天用HTML5的canvas给大家制作了一个波浪加载百分比,并滚动的动画效果 使用方法: 1、将style.css中的...
  • 原生HTML5自定义事件

    2019-09-15 20:50:34
    版权声明:本文为博主原创文章,未经博主允许不得转载。 ... HTML5开发有时需要实现自定义事件,如预加载图片需要知道加载进度事件,本篇以图片预加载功能为例,介绍...
    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zeping891103/article/details/72649718

    HTML5开发有时需要实现自定义事件,如预加载图片需要知道加载进度事件,本篇以图片预加载功能为例,介绍如何实现自定义事件。

    下面的ImgsLoader工具类,可以实现多图片预加载。

    <script src="ImgsLoader.js"></script>

    然后将图片路径放到一个数组imgs中,然后调用load(imgs)方法即可,如

    var imgs = [
    	"images/dunny.png",
    	"images/fatcap.png",
    	"images/piggy.png"
    ];
    var loader = new ImgsLoader();
    loader.on("EVENT_COMPLETE", eventHandler);
    loader.on("EVENT_PROGRESS", eventHandler);
    loader.on("EVENT_ERROR", eventHandler);
    loader.load(imgs);
    工具类loader有三个监听事件,分别是加载完成,加载进度和加载失败监听,eventHandler是监听回调函数,回调中会包含一个回调对象,如

    function eventHandler(resp) {}
    resp即是回调对象,包含了type属性和target属性。通过获取这两个属性值即可知道回调的事件和结果。
    ImgsLoader.js的源码如下:

    function ImgsLoader() {
    	//基本参数
    	this.images = new Object(); // 返回的数据对象
    	this.imageCount = 0; // 已加载计数器
    	this.imageTotal = 0; // 需加载总量
    
    	//事件名称及事件容器
    	this.EVENT_COMPLETE = "EVENT_COMPLETE";
    	this.EVENT_PROGRESS = "EVENT_PROGRESS";
    	this.EVENT_ERROR = "EVENT_ERROR";
    	this.eventTarget = new Object();
    }
    
    ImgsLoader.prototype.load = function(imgList) {
    	this.imageTotal = imgList.length;
    	for(var i = 0; i < this.imageTotal; i++) {
    		var url = imgList[i];
    		var img = new Image();
    		this.images[url] = img;
    		img.onload = this.SingleIMGLoadedHandle.bind(this);
    		img.onerror = this.SingleIMGErrorHandle.bind(this);
    		img.src = url;
    	}
    }
    
    ImgsLoader.prototype.on = function(ename, callback) {
    	//存储需要监听的事件名称和回调函数
    	this.eventTarget[ename] = callback;
    };
    
    ImgsLoader.prototype.trigger = function(event, paramet) {
    	//事件触发
    	for(var i in this.eventTarget) {
    		var ename = i;
    		var callback = this.eventTarget[i];
    		if(ename == event) {
    			callback(paramet);
    			break;
    		}
    	}
    };
    
    ImgsLoader.prototype.SingleIMGLoadedHandle = function(evt) {
    	this.imageCount++;
    	this.response = {};
    	this.response.target = {};
    	if(this.imageCount >= this.imageTotal) {
    		// 抛出 100% 进度事件
    		this.response.type = this.EVENT_PROGRESS;
    		this.response.target.msg = "加载中!";
    		this.response.target.data = 1;
    		this.trigger(this.EVENT_PROGRESS, this.response);
    		// 抛出加载成功事件
    		this.response.type = this.EVENT_COMPLETE;
    		this.response.target.msg = "加载成功!";
    		this.response.target.data = this.images;
    		this.trigger(this.EVENT_COMPLETE, this.response);
    	} else {
    		this.response.type = this.EVENT_PROGRESS;
    		this.response.target.msg = "加载中!";
    		this.response.target.data = this.imageCount / this.imageTotal;
    		this.trigger(this.EVENT_PROGRESS, this.response);
    	}
    };
    
    ImgsLoader.prototype.SingleIMGErrorHandle = function(evt) {
    	// 抛出加载失败事件
    	this.response = {};
    	this.response.target = {};
    	this.response.type = this.EVENT_ERROR;
    	this.response.target.msg = "加载失败!";
    	this.response.target.data = evt.target.src;
    	this.trigger(this.EVENT_ERROR, this.response);
    };
    调用测试的完整源码如下:
    <!DOCTYPE html>
    <html>
    
    	<head>
    		<meta charset="UTF-8">
    		<title></title>
    		<script src="ImgsLoader.js"></script>
    	</head>
    
    	<body>
    		<canvas id="myCanvas" width="400" height="400" style="border:1px solid black; background-color: beige;"></canvas>
    		<script>
    			var imgs = [
    				"images/dunny.png",
    				"images/fatcap.png",
    				"images/piggy.png"
    			];
    			var loader = new ImgsLoader();
    			loader.on("EVENT_COMPLETE", eventHandler);
    			loader.on("EVENT_PROGRESS", eventHandler);
    			loader.on("EVENT_ERROR", eventHandler);
    			loader.load(imgs);
    
    			function eventHandler(resp) {
    				var type = resp.type;
    				switch(type) {
    					case "EVENT_COMPLETE":
    						console.log("加载成功!");
    						var imgList = resp.target.data;
    						var img = imgList["images/fatcap.png"];
    						var canvas = document.getElementById("myCanvas");
    						var ctx = canvas.getContext("2d");
    						var pointX = ctx.canvas.width / 2 - (img.width / 2);
    						var pointY = ctx.canvas.height / 2 - (img.height / 2);
    						ctx.drawImage(img, pointX, pointY);
    						break;
    					case "EVENT_PROGRESS":
    						var progress = Math.round(resp.target.data * 100);
    						console.log("当前进度是:" + progress + "%");
    						break;
    					case "EVENT_ERROR":
    						var errorPath = resp.target.data;
    						console.log("该图片加载错误:" + errorPath);
    						break;
    				}
    			}
    		</script>
    	</body>
    
    </html>
    运行结果如图所示:



    转载于:https://my.oschina.net/u/3987720/blog/2962729

    展开全文
  • video.js 中的属性和原生HTML5视频播放

    千次阅读 2017-03-08 17:35:09
    video.js 中的属性和原生HTML5视频播放一.viedo的标签 </video><video controls poster="/images/w3school.gif"> <source src="movie.

    video.js 中的属性和原生HTML5视频播放


    一.viedo的标签

    <video src="movie.ogg" controls="controls">
    </video>

    这里写图片描述

    <video controls poster="/images/w3school.gif">
       <source src="movie.mp4" type="video/mp4">
       <source src="movie.ogg" type="video/ogg">
       Your browser does not support the video tag.
    </video> 
    **打开视频的时候所显示的图片,可以放个美女。裤子都脱了就让我看这个**

    设置视频地址
    第一种方式:

    <video controls="controls" src="movie.ogg">
    Your browser does not support the video tag.
    </video>
    src是要插入的视频地址

    第二种方式:

    <audio controls>
       <source src="horse.ogg" type="audio/ogg">
       <source src="horse.mp3" type="audio/mpeg">
    </audio> 
    增加<source>标签

    二.全局属性

    这里写图片描述
    以上图片内所有属性标签全部支持

    <video controls="controls" autoplay="autoplay">
      <source src="movie.ogg" type="video/ogg" />
      <source src="movie.mp4" type="video/mp4" />
    Your browser does not support the video tag.
    </video>
    **autoplay 属性规定一旦视频就绪马上开始播放。
    如果设置了该属性,视频将自动播放。**

    三.HTML5 Audio/Video 方法

    描述 方法
    addTextTrack() 向音频/视频添加新的文本轨道
    canPlayType() 检测浏览器是否能播放指定的音频/视频类型
    load() 重新加载音频/视频元素
    play() 开始播放音频/视频
    pause() 暂停当前播放的音频/视频

    四.HTML5 Audio/Video 属性

    属性 描述
    audioTracks 返回表示可用音轨的 AudioTrackList 对象
    autoplay 设置或返回是否在加载完成后随即播放音频/视频
    buffered 返回表示音频/视频已缓冲部分的 TimeRanges 对象
    controller 返回表示音频/视频当前媒体控制器的 MediaController
    controls 设置或返回音频/视频是否显示控件(比如播放/暂停等)
    crossOrigin 设置或返回音频/视频的 CORS 设置
    currentSrc 返回当前音频/视频的 URL
    currentTime 设置或返回音频/视频中的当前播放位置(以秒计)
    defaultMuted 设置或返回音频/视频默认是否静音
    defaultPlaybackRate 设置或返回音频/视频的默认播放速度
    duration 返回当前音频/视频的长度(以秒计)
    ended 返回音频/视频的播放是否已结束
    error 返回表示音频/视频错误状态的 MediaError 对象
    loop 设置或返回音频/视频是否应在结束时重新播放
    mediaGroup 设置或返回音频/视频所属的组合(用于连接多个音频/视频元素)
    muted 设置或返回音频/视频是否静音
    networkState 返回音频/视频的当前网络状态
    paused 设置或返回音频/视频是否暂停
    playbackRate 设置或返回音频/视频播放的速度
    played 返回表示音频/视频已播放部分的 TimeRanges 对象
    preload 设置或返回音频/视频是否应该在页面加载后进行加载
    readyState 返回音频/视频当前的就绪状态
    seekable 返回表示音频/视频可寻址部分的 TimeRanges 对象
    seeking 返回用户是否正在音频/视频中进行查找
    src 设置或返回音频/视频元素的当前来源
    startDate 返回表示当前时间偏移的 Date 对象
    textTracks 返回表示可用文本轨道的 TextTrackList 对象
    videoTracks 返回表示可用视频轨道的 VideoTrackList 对象
    volume 设置或返回音频/视频的音量

    下面是比较好用的viedo.js插件

    jQueryVideo.js5.16下载
    这里写图片描述

    如果有不对的地方请各位纠正错误。共同进步!

    展开全文
  • <div><p>斗鱼首页推荐位右键菜单出现试用HTML5播放器 但仍然加载了两个swf <code>ClientProxyIndex.swf</code> 和 <code>indexnetcore.swf 是否有可能通过在房间内调用这两个swf实现获取播放地址? 另外主页上...
  • 最近碰到个需求,需要使用js...用下来发现坑巨多,果断舍弃,换用原生HTML5来做上传。具体思想就是创建一个FormData对象,将file标签的值设进formdata对象里面去,再使用xmlhttprequest上传,同时在xhr中添加监听器

    最近碰到个需求,需要使用js上传文件,一般上传文件都是使用表单,并为使用过js上传,这次在这记录一下。

         之前网上说使用jquery插件jqueryajaxupload.js。用下来发现坑巨多,果断舍弃,换用原生的HTML5来做上传。具体思想就是创建一个FormData对象,将file标签的值设进formdata对象里面去,再使用xmlhttprequest上传,同时在xhr中添加监听器获取回调


    代码如下:

    function uploadFile() {
    		var fd = new FormData();
    		fd.append('fileType', 2);
    		fd.append("file", $('#diverCeriticate')[0].files[0]);
    		var xhr = new XMLHttpRequest();
    		//xhr.upload.addEventListener("progress", uploadProgress, false);
    		xhr.addEventListener("load", uploadComplete, false);
    		xhr.addEventListener("error", uploadFailed, false);
    		xhr.open("POST", UPLOAD_FILE_URL);
    		
    		xhr.send(fd);
    		}
    		function uploadComplete(e) {
    		//e.target.responseText 为上传结果
    		var json = JSON.stringify(JSON.parse(e.target.responseText), null,'');
    		
    		alert("json"+json);
    		}
    		
    		function uploadFailed(e) {
    			alert(e);
    			}
    		





    展开全文
  • 原生<input type="file" name="file" />长得太丑 提升一下颜值 实现方案一、设置input[type=file]透明度为0,使用绝对定位遮罩在自定义的按钮标签层的之上. 1 <!DOCTYPE html> 2 <...
  • 前言 不知道各位 coder 有没有碰到过许多重复的业务需求,比如排版相类似的报表,只不过是顺序稍微换了一下,就是一个新的页面,虽然基于模板思想来写的话也能减少不少代码,但是相对的不那么方便,笔者最近就是碰到...
  • 用Vue 实现了 个很简单的分页功能。 效果图: 写的很简单,大家可以 自己diy. <div style="margin:0 auto;text-align:center"> <a @click="prevPage()">...margin-left: 10px" v-for="index of pagelist" ...
  • Fusee Fusee旨在成为一个多... Fusee搭建了桥梁,以使您的代码在不支持C#的环境中运行,例如Content-Creation-Software C ++ Plug-In-API和原生HTML5 / WebGL Javascript代码。 主 开发 在您的项目中使用Fusee:
  • 本文介绍如何使用HTML5的输入列表属性和datalist元素,你可以轻松地设置了一个自动提示的输入框,不需要依赖jQuery或JavaScript。 实现非常简单,添加 list 属性到input字段,然后创建一个datalist元素。 id值与...
  • 但是又喜欢html5 原生对于input(特殊类型)的判断, 所以需要可以找到点击button (type=submit)时,可以做到: html5 自带表单验证 使用ajax提交数据,因为后台返回是Json HTML 代码部分: 使用了...
  • 参考:https://blog.csdn.net/itwangyang520/article/details/82464764​... /*----------用来移除向下箭头----------*/ input[type="date"]::-webkit-calendar-picker-indicator { display: none; } /*-------...
  • 转自:http://www.cnblogs.com/Chen-XiaoJun/articles/5839335.html 元素介绍 想象一下我们想要用户输入一个字符串,例如他们的名字,我们可能会用到元素,这样子用户就可以随意的输入他们的内容。想象一下...
  • border: 5px solid darksalmon; background-color: #FFE; } ;"> ; height: 100px;"> var jqdiv = $("#myDiv")[0]; console.log(jqdiv.clientLeft); // 5 console.log(jqdiv....
  • 一个在线预览所有原生 HTML5 表单元素效果的网站 编译来源: 梦想天空 ◆ 关注前端开发技术 ◆ 分享网页设计资源 <!-- google_ad_client = "ca-pub-1944176156128447"; /* cnblogs 首页横幅 */ google_ad_slot = ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,977
精华内容 2,390
关键字:

原生html5