H5-地理定位/本地存储/拖放
一、地理定位 Geolocation
兼容性:Internet Explorer 9+, Firefox, Chrome, Safari 和 Opera 支持Geolocation(地理定位)。
一次性定位 getCurrentPosition()
getLocation()
function getLocation(){
if (navigator.geolocation) {
console.log('支持定位');
window.navigator.geolocation.getCurrentPosition(success,error);
}else{
console.log('浏览器不支持定位');
}
} //成功获取地理位置时候的回调函数
function success (position) {
console.log(position);
const {latitude, longitude} = position.coords
} //地理位置获取失败时候的回调函数
function error (error) {
console.log(error.message);//失败信息 }
实时定位 watchPosition()
getLocation()
function getLocation(){
if (navigator.geolocation) {
console.log('支持定位');
window.navigator.geolocation.watchPosition(success,error);
}else{
console.log('浏览器不支持定位');
}
} //成功获取地理位置时候的回调函数
function success (position) {
console.log(position);
const {latitude, longitude} = position.coords
} //地理位置获取失败时候的回调函数
function error (error) {
console.log(error.message);//失败信息 }
二、web存储
兼容性:Internet Explorer 8+, Firefox, Opera, Chrome, 和 Safari支持Web 存储。
localStorage:
1. 永久生效
2. 多窗口共享
3. 容量大约为20M
◆window.localStorage.setItem(key,value) 设置存储内容
◆window.localStorage.getItem(key) 获取内容
◆window.localStorage.removeItem(key) 删除内容
◆window.localStorage.clear() 清空内容
只要在相同的协议、相同的主机名、相同的端口下,就能读取/修改到同一份localStorage数据。
sessionStorage:
1. 生命周期为关闭当前浏览器窗口
2. 可以在同一个窗口下访问
3. 数据大小为5M左右
◆window.sessionStorage.setItem(key,value)
◆window.sessionStorage.getItem(key)
◆window.sessionStorage.removeItem(key)
◆window.sessionStorage.clear()
除了协议、主机名、端口外,还要求在同一窗口(也就是浏览器的标签页)下,就能读取/修改。
三、拖放
兼容性:Internet Explorer 9+, Firefox, Opera, Chrome, 和 Safari 支持拖动,但Safari 5.1.2不支持拖动。
分析:分成两部分,一部分是被拖动的元素,另一部分是接收拖动元素的区域元素
被拖动元素:
draggable 属性设置为 true
ondragstart 属性调用了一个函数drag(event)
接收拖动元素的区域元素:
ondragover 属性事件规定在何处放置被拖动的数据 event.preventDefault()
ondrop 属性调用了一个函数drop(event)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<style>
body{
display: flex;
justify-content: space-around;
}
div{
width: 150px;
height: 80px;
border: 1px solid #000;
display: flex;
justify-content: center;
align-items: center;
}
</style>
<body>
<div ondragover="alowDrag(event)" ondrop="drop(event)"></div>
<div ondragover="alowDrag(event)" ondrop="drop(event)"></div>
<span id="span" draggable="true" ondragstart="dragstart(event)">移动我哦</span>
</body>
<script>
function dragstart(event){
event.dataTransfer.setData("span",event.target.id)
} function alowDrag(event){
event.preventDefault()
} function drop(event){
event.preventDefault()
var data = event.dataTransfer.getData("span")
event.target.appendChild(document.getElementById(data))
}
</script>
</html>
H5-地理定位/本地存储/拖放的更多相关文章
- h5新增属性本地存储
---恢复内容开始--- 存储的两种类型: localStorage 和 sessionStorage localstorage:没有时间限制的数据存储 sessionStorage 针对一个ses ...
- H5新特性 本地存储---cookie localStorage sessionStorage
本地存储的作用 :避免登录网站时,用户在页面浏览时重复登录,也可以实现快速登录,一段时间内保存用户的登录效果,提高页面访问速率 在html5中提供三种数据持久化操作的方法: 1.cookie 可看作是 ...
- H5地理定位获取用户当前位置、城市
第一步:需要在百度地图开发者平台创建一个应用:http://lbsyun.baidu.com/apiconsole/key/create 配置信息 申请配置成功以后返回一个AK 第二步:引入百度地图的 ...
- H5本地存储详细使用教程(localStorage + JSON数据存储应用框架)
一.Web Storage教程 1.概述: 对于Web Storage来说,实际上是Cookies存储的进化版.如果了解Cookie的人几乎一看Web Storage就会用,如果你从来没用过没了解过C ...
- H5本地存储详解
H5之前存储数据一般是通过 cookie ,但是 cookie 存的数据容量比较少.H5 中扩充了文件存储能力,可存储多达 5MB 的数据.现在就实际开发经验来对本地存储 ( Storage ) 的使 ...
- 彻底搞懂Html5本地存储技术(一)
一.H5之前客户端本地存储的实现 1. cookies cookies的应用比较广泛,但有以下几个问题: (1)每次http请求头上会带着,浪费资源 (2)每个域名客户端只能存储4K大小 (3)会造成 ...
- HTML5 02. 多媒体控件、拖拽事件、历史记录、web存储、应用程序缓存、地理定位、网络状态
多媒体 video:是行内块(text-align: center; 对行内块适用) <figure></figure>: 多媒体标签 : <figcaption> ...
- H5新特性---SVG--椭圆--直线--文本--滤镜(高斯滤镜--模糊)--地理定位
今天的目标 3.1:h5新特性--SVG--椭圆 <ellipse rx="" ry="" cx="" cy="" ...
- HTML5_05之SVG扩展、地理定位、拖放
1.SVG绘图总结: ①方法一:已有svg文件,<img src="x.svg"> 方法二:<body><svg></svg>&l ...
随机推荐
- JZOJ 【NOIP2016提高A组集训第16场11.15】兔子
JZOJ [NOIP2016提高A组集训第16场11.15]兔子 题目 Description 在一片草原上有N个兔子窝,每个窝里住着一只兔子,有M条路径连接这些窝.更特殊地是,至多只有一个兔子窝有3 ...
- 通过sql 语句将多行数据拼接到一行中
- 什么是SSL双向认证,与单向认证证书有什么区别?
SSL/TLS证书是用于用户浏览器和网站服务器之间的数据传输加密,实现互联网传输安全保护,大多数情况下指的是服务器证书.服务器证书是用于向浏览器客户端验证服务器,这种是属于单向认证的SSL证书.但是, ...
- Kafka探究之路-命令小结
操作kafka之前,要先启动安装好的zk ,因为kafka的数据都保存在zk中,zk相当于是kafka的数据库吧. 安装的zk kafka 一定要按照书上,网上的教程,将相应的配置文件全部改成自己的, ...
- PHP中双引号引起的命令执行漏洞(Kuwebs代码审计 )
在代码审计一书中提到Kuwebs的配置文件中可以利用PHP可变变量的特性执行代码 在PHP语言中,单引号和双引号都可以表示一个字符串,但是对于双引号来说,可能会对引号内的内容进行二次解释,这就可能会出 ...
- Android10_原理机制系列_事件传递机制
前言和概述 Android的输入设备,最常用的就是 触摸屏和按键 了.当然还有其他方式,比如游戏手柄,比如支持OTG设备,则可以链接鼠标.键盘等. 那么这些设备的操作 是如何传递到系统 并 控制界面的 ...
- 百度前端技术学院-基础-day25-27
倒数开始 滴答滴 滴答滴 task1 题目: 我们现在来做一个最简单的时钟,通过小练习来学习 Date,复习定时,然后再练习一下函数的封装具体需求如下: 在页面中显示当前日期及时间,按秒更新 格式为 ...
- AcWing 276. I-区域
题目链接 设 \(0\) 为单调伸长, \(1\) 为单调伸短. 设 \(f[i][j][l][r][x(0 / 1)][y (0 / 1)]\) 为第 \(i\) 行,已经选出\(j\)个格子,第\ ...
- 笔记-[AH2017/HNOI2017]礼物
笔记-[AH2017/HNOI2017]礼物 [AH2017/HNOI2017]礼物 \[\begin{split} ans_i=&\sum_{j=1}^n(a_j-b_j+i)^2\\ =& ...
- Java集合源码分析(四)——Vector
简介 Vector 是矢量队列,它是JDK1.0版本添加的类.继承于AbstractList,实现了List, RandomAccess, Cloneable这些接口. 和ArrayList不同,Ve ...