旅游网站设计规划书,全球华设计大奖,枣庄公司做网站,wordpress固定连接的问题在浏览器客户端记录一些信息#xff0c;有三种常用的Web数据持久化存储的方式#xff0c;分别是Web SQL、Local Storage、Cookies。Web SQL作为html5本地数据库#xff0c;可通过一套API来操纵客户端的数据库#xff08;关系数据库#xff09;#xff0c;下面是支持浏览器… 在浏览器客户端记录一些信息有三种常用的Web数据持久化存储的方式分别是Web SQL、Local Storage、Cookies。Web SQL作为html5本地数据库可通过一套API来操纵客户端的数据库关系数据库下面是支持浏览器情况。鉴于PC浏览器支持情况我找了淘宝、京东、携程、起点、优酷网站并没有用Web SQL记录客户端信息。在移动端比较适用特别是对于Hybrid应用更是得心应手。接口openDatabasetransactionexecuteSql1.打开连接并创建数据库var dataBase openDatabase(student, 1.0, 学生表, 1024 * 1024, function () { });2.创建数据表dataBase.transaction( function(tx) {
tx.executeSql(
create table if not exists stu (id REAL UNIQUE, name TEXT),
[],
function(tx,result){ alert(创建stu表成功); },
function(tx, error){
alert(创建stu表失败: error.message);
});
}); 3.添加数据dataBase.transaction(function (tx) {
tx.executeSql(
insert into stu (id, name) values(?, ?),
[1, 徐明祥],
function () { alert(添加数据成功); },
function (tx, error) {
alert(添加数据失败: error.message);
});
});4.查询数据dataBase.transaction(function (tx) {
tx.executeSql(
select * from stu, [],
function (tx, result) { //执行成功的回调函数
//在这里对result 做你想要做的事情吧...........
},
function (tx, error) {
alert(查询失败: error.message)
});
});特点1.有事务2.查询数据返回数据类型正确3.被W3C丢弃的规范但被广泛支持。Local StorageHTML5提供了没有时间限制在客户端存储数据的手段以键值对存取网站只能访问其自身的数据浏览器支持如下。PS截图来自网上资料有个比较有趣的东西我在起点、京东、优酷的localStorage找个共同的变量就是jw_bl里面的数据是我猜不到这个属性是什么简写的{created : Sat Nov 14 2015 23:52:10 GMT 0800 (中国标准时间) , expiration : Sat, 21 Nov 2015 10:51:54 -0500 , reason : 0}写数据localStorage.pagecount123;读数据localStorage.pagecount; // return 123PS要注意的是获取localStorage的值是字符串不管你赋值的是什么类型。特点1. 获取值是字符串类型2. 容量有大约5M限制3. 不会进行网络传输CookiesCookies是最常用的Web数据持久化手段所有浏览器都支持。Cookie是由服务器端生成发送给User-Agent一般是浏览器浏览器会将Cookie的key/value保存到某个目录下的文本文件内下次请求同一网站时就发送该Cookie给服务器前提是浏览器设置为启用cookie。单点登录SSO是个很经典的使用。PS当然也可以在网页设置cookiesCookie数量和长度的限制每个domain最多只能有20条某些浏览器会多一些cookie每个cookie长度不能超过4KB否则会被截掉。Cookie生命周期Cookie在生成时就会被指定一个Expire值这就是Cookie的生存周期在这个周期内Cookie有效超出周期Cookie就会被清除。将Cookie的生存周期设置为“0”或负值就马上清除Cookie。Cookie安全性问题如果cookie被人拦截了那人就可以取得所有的session信息。即使加密也与事无补因为拦截者并不需要知道cookie的意义他只要原样转发cookie就可以达到目的了。或者是可收集这些信息做一些事。Cookies请求附带Cookies每次请求会被发送到服务器占用额外带宽示例参数如下截了一个斗鱼网站请求的图。PScookies参数需要使用抓包工具类似fiddler才能看到Chrome开发者调试工具看不到的。Cookies的Javascript编程下面代码来自网上资料创建cookiesfunction setCookie(c_name,value,expiredays)
{
var exdatenew Date();
exdate.setDate(exdate.getDate() expiredays);
document.cookiec_name escape(value) ((expiredaysnull)?:;expires exdate.toGMTString());
}取值cookiesfunction getCookie(c_name)
{
if(document.cookie.length0) {
c_startdocument.cookie.indexOf(c_name );
if(c_start!-1) {
c_startc_start c_name.length 1;
c_enddocument.cookie.indexOf(;,c_start);
if(c_end-1)
c_enddocument.cookie.length;
return unescape(document.cookie.substring(c_start,c_end));
}
}
return ;
}删除cookiessetCookie(acf_nickname, null , -1);清除所有cookies因为cookies值可能存在“;”字符所以清除的函数还没一那么简单要照着自己工程看着写。总结Web SQL一般在移动端使用localStorage PC和移动端都适用而cookies是所有持久化存储支持最好的。可根据它们本身的特性选择自己需要使用的方式。