HTML5+CSS3笔记2

十三、网络监听接口:H5侧重点在于移动端,很多接口在pc端使用有些存在兼容性问题

	1、ononline:网络连接的时候触发这个事件
		Window.addEventListener('online',function(){});
	2、onoffline:网络断开时触发
		Window.addEventListener('offline',function(){});

十四、全屏接口

1、requestFullScreen():开启全屏显示
2、cancelFullScreen():退出全屏显示
3、fullScreenElement():是否全屏
注:	不同的浏览器需要添加不同的前缀
	▪Chrome:webkit | firefox:moz | ie:ms | opera:o 	
	▪开启全屏显示是对元素的操作。退出全屏和判读是否全屏是对document的操作。
	▪加了前缀的全屏接口也遵循驼峰命名规则

十五、FileReader

1、readAsText():读取文本文件(能用txt打开的文件),返回文本字符串,默认编码UTF-8
2、readAsBinaryString():读取任意文件。返回二进制字符串。这个方法不是用来读取文件展示给用户看,而是存储文件。
	例如:读取文件内容,将二进制内容传给后台,后台接收后存储文件。
3、readAsDataURL():读取文件获取以data:开头的字符串,将资源转换为base64编码,是一种将文件(图片)嵌入文档的方案,优化网站的加载速度和执行效率。
4、onabort():读取文件中断时触发
5、onerror():读取文件错误时触发
6、onload():读取文件成功时触发
7、onloadend():读取文件完成时触发,不论是否成功
8、onloadstart():开始读取时触发
9、onprogress():读取文件过程中持续触发
	案例:图片预览
	<form>
		<input type='file' name='myFile' id='myFile' onchange='getFileContent()'/>
		<input type='submit'/>
	</form>
	<img src='' alt=''/>
	<script>
		function getFileContent(){
			var reader = new FileReader();
			var file = document,querySelector('#myFile').files;
			reader.readAsDataURL(file[0]);
			reader.onload = function(){
				document.querySelector('img').src = reader.result;
			}
		}
	</scrip>

十六、拖拽接口

1、draggable='true',图片和超链接不需要添加就可以拖拽
	拖拽事件:	▪拖拽元素的事件
					ondrag:整个拖拽过程都会调用,持续调用
					ondragstart:拖拽开始时调用
					ondragleave:鼠标离开拖拽元素时调用
					ondragend:拖拽结束时调用
				▪目标元素事件
					ondragenter:拖拽元素进入时调用
					ondragover:停留在目标元素时调用,持续调用
					ondrop:在目标元素上松开鼠标时调用
						浏览器默认阻止ondrop事件,需要在ondragover中阻止浏览器的默认行为
						div.ondragover = function(e){
							e.preventDefault();//阻止浏览器默认操作
						}
					ondragleave:鼠标离开目标元素时调用

	例子:
	document.ondragstart = function(e){
		//通过事件捕获获取当前被拖拽元素
		e.target.style.opacity = 0.5;//修改透明度
		e.target.parentNode.style.borderWidth = '3px';//修改父节点边框

		//存值
		e.dataTransfer.setData('text/html',e.target.id);
	}
	document.ondragover = function(e){
		e.preventDefault();//阻止浏览器默认操作
	}
	document.ondrop = function(e){
		//取值,dataTransfer.setData储存的数据只能在drop事件中获取
		var id = e.dataTransfer.getData('text/html');
		e.target.appendChild(document.getElementById(id));
	}	

十七:地理定位接口

1、
<div id='demo' class='d'></div>
<script>
	var demo = document.getElementById('demo');
	function getLocation(){
		if(navigator.geolocation){
			//navigator.geolocation.getCurrentPosition(success,error,option);
			//1、success获取地理信息成功的回调
			//2、error获取地理信息失败的回调
			//3、option设置获取地理信息的方式
			
			navigator.geolocation.getCurrentPosition(showPosition,showError,{
				//enableHighAccuracy:true|false是否使用高精度,消耗资源,用电高。
				//timeout设置超时时间
				//maximumAge可以设置浏览器重新获取地理信息的时间间隔
			});
		}else{
			//getLocation is not supported by this browser(浏览器不支持地理地位)
		}
	}
	function showPosition(position){
		//latitude纬度、longitude经度、accuracy精度、altitude海拔高度
		x.innerHTML = '纬度:'+ position.coords.latitude +
					'<br/>纬度' + position.coords.longitude;
	}
	function showError(error){
		//详细查看文档
		switch(error.code){
			case error.PERMISSION_DENIED:
				x.innerHTML="User denied the request for Geolocation."
				break;
			case error.POSITION_UNAVAILABLE:
				x.innerHTML="Location information is unavailable."
				break;
			case error.TIMEOUT:
				x.innerHTML="The request to get user location timed out."
				break;
			case error.UNKNOWN_ERROR:
				x.innerHTML="An unknown error occurred."
				break;
		}
	}
	2、如需在地图中显示结果,则要利用第三方例如百度地图,谷歌地图
</script>

十八:Web 存储

sessionStorage
1、特点
	▪针对一个 session 的数据存储,存储数据在当前页面,容量5mb左右。
	▪当用户关闭浏览器窗口后,数据会被删除
2、方法
	▪setItem(key,value):以键值对的方式存储数据
	▪getItem(key):取值
	▪removeItem(key):删
	▪clear():清空所以存储的内容

localStorage
1、特点
	▪没有时间限制的数据存储
	▪在同一个浏览器不同窗口中,可以共享localStorage数据
2、方法和sessionStorage相同

十九、应用程序的缓存

1、优点
	▪用户可在应用离线时使用它们
	▪已缓存资源加载得更快
	▪减少服务器负载
2、所有主流浏览器均支持应用程序缓存,除了IE。
3、Cache Manifest的使用
	▪在<html>中添加 manifest 属性
		manifest='应用程序缓存清单文件的路径,建议扩展名为.appcache'

	▪demo.appcache
	
	#CACHE MANIFEST必须是当前文档的第一句
	CACHE MANIFEST
	#需要缓存的文件清单列表
	CACHE:
	/theme.css
	/logo.gif
	/main.js
	#每次都需要重新从服务器获取的文件清单列表
	NETWORK:
	login.asp
	#配置如果文件午饭获取则使用的文件进行代替
	FALLBACK:
	/html5/404.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值