欢迎光临杨雨的个人博客站!

杨雨个人网站-杨雨个人博客-杨照佳

杨雨个人博客网站

关注互联网和搜索引擎的个人博客网站

首页 > WEB开发 > html5案例分享 >

HTML5 当地存储之假如没稀有据库毕竟会奈何

发布时间:2016-11-28  编辑:杨雨个人博客网站   点击:   

媒介

本章首要内容是Web Storage与当地数据库,个中Web Storage 是对cookie的优化,当地数据库是HTML5新增的一个成果,行使它可以在客户端成立一个数据库

大大减轻处事器端的承担,加速会见数据速率。

进修本章必要把握Web Storage根基观念,相识sessionStorage与localStorage的行使与不同

把握当地数据库的行使

什么是WebStorage?

前面说过,webstorage是对cookie的优化而来,HTML4中行使cookie在客户端存储用户数据,恒久行使发明存在以下题目:

巨细限定在4kbcookie每次随HTTP事宜一路发送,挥霍带宽正确操纵cookie很伟大(这个有待思量)

因为以上题目,HTML5提出WebStorage作为新的客户端当地生涯技能。


代码如下:
Web Storage 技能在web上存储数据即针对客户端当地;详细来说分为两种:
sessionStrage:
session即会话的意思,在这里的session是指用户赏识某个网站时,从进入网站到封锁网站这个时刻段,session工具的有用期就只有这么长。</p> <p>localStorage:
将数据生涯在客户端硬件装备上,不管它是什么,意思就是下次打开计较机时辰数据还在。</p> <p>两者区别就是一个作为姑且生涯,一个拥有恒久生涯。

行使示例


代码如下:
简朴应用
<!DOCTYPE Html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xHtml1/DTD/xHtml1-transitional.dtd">
<Html xmlns="http://www.w3.org/1999/xHtml">
<head>
<title></title>
</head>
<body>
<h1>
Web Storage 尝试</h1>
<div id="msg" style=" margin: 10px 0; border: 1px solid black; padding: 10px; width: 300px; height: 100px;">
</div>
<input type="text" id="text" />
<select id="type">
<option value="session">sessionStorage</option>
<option value="local">localStorage</option>
</select>
<button onclick="save();">
生涯数据</button>
<button onclick="load();">
读取数据</button>
<script type="text/javascript">
var msg = document.getElementById('msg'),
text = document.getElementById('text'),
type = document.getElementById('type');

function save() {
var str = text.value;
var t = type.value;
if (t == 'session') {
sessionStorage.setItem('msg', str);
} else {
localStorage.setItem('msg', str);
}
}

function load() {
var t = type.value;
if (t == 'session') {
msg.innerHTML = sessionStorage.getItem('msg');
} else {
msg.innerHTML = localStorage.getItem('msg');
}
}

</script>
</body>
</Html>

HTML5 内地存储之若是没罕有据库事实会若何

在chrome赏识器下看会有感受的。

简朴web留言板


代码如下:
简朴留言板
<!DOCTYPE Html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xHtml1/DTD/xHtml1-transitional.dtd">
<Html xmlns="http://www.w3.org/1999/xHtml">
<head>
<title></title>
</head>
<body>
<h1>
Web Storage 尝试</h1>
<div id="msg" style="margin: 10px 0; border: 1px solid black; padding: 10px; width: 300px;
min-height: 100px;">
</div>
<input type="text" id="text" />
<button onclick="save();">
留言</button>
<button onclick="_clear();">
清空</button>
<script type="text/javascript">
var msg = document.getElementById('msg'),
text = document.getElementById('text');

function save() {
var str = text.value;
var k = new Date().getTime();
localStorage.setItem(k, str);
init();
}

function init() {
msg.innerHTML = '';
var dom = '';
for (var i = 0, len = localStorage.length; i < len; i++) {
dom += '<div>' + localStorage.key(i) + ':' + localStorage.getItem(localStorage.key(i)) + '</div>'
}
msg.innerHTML = dom;
}

function _clear() {
msg.innerHTML = '';
localStorage.clear();
}

</script>
</body>
</Html>

HTML5 内地存储之若是没罕有据库事实会若何

更伟大的运用中,可以将value值用作json字符串,以此到达用作数据表的目标;

当地数据库

在HTML5中内置了一个可通过sql会见的数据库(新赏识器果然强盛啊!),以是在HTML4中数据只能存在处事器端,HTML5则改变了这一原则。

这种不必要存储在处事器的专著名词为“SQLLite”(我终于知道他是干什么的了)


代码如下:
行使SQLLite数据库,必要两个须要步调:
建设数据库会见工具
行使事宜处理赏罚</span></p> <div class="cnblogs_code"> <pre><span style="COLOR: #000000">建设工具:
openDatabase(dbName, version, dbDesc, size)</span></pre> <pre><span style="COLOR: #000000">现实会见:
db.transaction(function () {
  tx.excuteSql('create table ......');
});</span></pre> <pre><span style="COLOR: #000000">数据查询:
excuteSql(sql, [], dataHandler, errorHandler)//后头两个为回调函数;[]预计是做sql注入处理赏罚

光说不做假把式,我们来现实操纵一番,行使数据库实现web通信录(左思右想照旧用上了jQuery):

做的时辰居然发明我的FF不支持当地数据库!!!以下是用chrome完成的简朴的通信录:


代码如下:
通信录
<!DOCTYPE Html >
<Html xmlns="http://www.w3.org/1999/xHtml">
<head>
<title></title>
<style>
span{ cursor: pointer;}
</style>
<script src="../jquery-1.7.1.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
var search = $('#search');
var btSearch = $('#btSearch');

var phoneBook = $('#phoneBook');
var name = $('#name');
var phone = $('#phone');
var add = $('#add');

//开始措施
var db = openDatabase('phoneBook', '', 'my', 102400);

init();

add.click(function () {
save(name.val(), phone.val());
});
btSearch.click(function () {
init(search.val())
});
$('#phoneBook span').click(function () {
deleteByName($(this).attr('name'));
s = '';
});


//初始化界面
function init(name) {
db.transaction(function (tx) {
tx.executeSql('create table if not exists phoneBook(name text, phone text)', []);
var sql = 'select * from phoneBook where 1=1';
var param = [];
if (name) {
sql += ' and name=? ';
param.push(name);
}
tx.executeSql(sql, param, function (tx, rs) {
phoneBook.Html('');
for (var i = 0, len = rs.rows.length; i < len; i++) {
var data = rs.rows.item(i);
showData(data);
}
});
});
}

function showData(data) {
var str = '<div>姓名:' + data.name + ';电话:' + data.phone + ' <span onclick="del(\'' + data.name + '\')" >删除</span></div>';
phoneBook.append($(str));
}

//删除数据
function deleteByName(name) {
db.transaction(function (tx) {
tx.executeSql('delete from phoneBook where name=?', [name], function (tx, rs) {
init();
})
});
}
window.del = deleteByName;
//增进
function save(name, phone) {
db.transaction(function (tx) {
tx.executeSql('insert into phoneBook values(?, ?)', [name, phone], function (tx, rs) {
var d = {};
d.name = name;
d.phone = phone;
showData(d);
})
});
}

});

</script>
</head>
<body>
<h1>
当地数据库实现web通信录</h1>
<input type="text" id="search" placeholder="接洽人姓名" />
<button id="btSearch">
搜刮</button>

<div id="phoneBook">
</div>
<hr />
姓名:<input type="text" id="name" />
手机:<input type="text" id="phone" />
<button id="add">
添加到通信录</button>
</body>
</Html>

HTML5 内地存储之若是没罕有据库事实会若何

结语

对付搞事后端的同窗,这章对象着实也长短常简朴的,我再一次涌起了这种设法:

着实HTML5就是HTML4+api接口,目标就是让我们可以用js做更多工作而已。

本文地址:http://itbyc.com/web/html5/13625.html
转载请注明出处。
分享是一种快乐,也是一种美德:
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
博客首页 | WEB开发 | 网站运营 | CMS使用教程 滇ICP备14002061号-1