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 ...
随机推荐
- JZOJ2020年8月11日提高组T1 密码
JZOJ2020年8月11日提高组T1 密码 题目 Description 在浩浩茫茫的苍穹深处,住着上帝和他的神仆们,他们闲谈着下界的凡人俗事,对人世间表现的聪明智慧,大加赞赏.今天他们正在观赏大地 ...
- springboot:读取application.yml文件
现在开发主要使用微服务框架springboot,在springboot中经常遇到读取application.yml文件的情形. 一.概述 开发过程中经常遇到要读取application.yml文件中的 ...
- 老猿学5G:融合计费场景的离线计费会话的Nchf_OfflineOnlyCharging_Release释放操作
☞ ░ 前往老猿Python博文目录 ░ 一.Nchf_OfflineOnlyCharging_Release消息交互流程 Nchf_OfflineOnlyCharging_Release是CHF提供 ...
- PyQt(Python+Qt)学习随笔:枚举类QTreeWidgetItem.ItemType、QListWidgetItem.ItemType的取值及含义
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 在Model/View的便利类QTreeWidget.QListWidgetItem中的项类型分别是 ...
- PyQt程序执行时报错:AttributeError: 'winTest' object has no attribute 'setCentralWidget'的解决方法
用QtDesigner设计了一个UI界面,保存在文件Ui_wintest.ui中,界面中使用了MainWindow窗口,窗口名字也叫MainWindow,用PyUIC将其转换成了 Ui_wintest ...
- 对巡风vulscan的理解
# coding:utf-8 # 漏洞检测引擎 import urllib2 import thread import time import pymongo import sys import da ...
- SQL数据库优化的六种方法
SQL命令因为语法简单.操作高效受到了很多用户的欢迎.但是,SQL命令的效率受到不同的数据库功能的限制,特别是在计算时间方面,再加上语言的高效率也不意味着优化会更容易,所以每个数据库都需要依据实际情况 ...
- javascript:void(0)用法和常见问题
javascript:void(0)的用法 下面的代码创建了一个超级链接,当用户以后不会发生任何事.当用户链接时,void(0) 计算为 0,但 Javascript 上没有任何效果. <a H ...
- 支付宝小程序input的小坑
//axml<input class="internet_input" value="{{payNo}}" onInput="keyNum&qu ...
- 【Codeforces 1083C】Max Mex(线段树 & LCA)
Description 给定一颗 \(n\) 个顶点的树,顶点 \(i\) 有点权 \(p_i\).其中 \(p_1,p_2,\cdots, p_n\) 为一个 \(0\sim (n-1)\) 的一个 ...