博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript_Html5_LocalStorage项目demo
阅读量:6470 次
发布时间:2019-06-23

本文共 1735 字,大约阅读时间需要 5 分钟。

项目中localStorage实用

项目中h5本地存储的一个小实用,本意使用cookie,但发现chrome调试被禁用,便用了localStorage.


此需求是一贴吧搜索页,在新用户第一次点击搜索框时为搜索页面,老用户点击搜索框时带有搜索记录,实现方法为在点击搜索按钮时便为用户创建一个本地存储localStorage user-data,判断当页面中含有user-data时便将搜索框的val追加进user-data中,以“|”隔开,若user-data不存在便创建user-data。

var storage=window.localStorage;if(storage.getItem("user-data")){    var str=storage.getItem("user-data");    storage.setItem("user-data",str+'|'+$('#keyword').val());}else{    storage.setItem("user-data",$('#keyword').val());}

当页面加载时若本地localStorage中含有user-data,则获取此数据,返回为字符串,用split方法以“|”为判断条件将此字符串切割为数组,并循环创建,导入页面编辑器中,即:

if($('.search-con') && !findKey('keyWords')){        var html="";        if(window.localStorage && localStorage.getItem("user-data")){            var data=localStorage.getItem("user-data").split('|');            for(var i=data.length-1;i>=0;i--){                html+="
"+data[i]+"
" } $('.user-clear').show(); }else{ html='
未搜索任何信息' } $('.search-con').html(html); }

其中findKey()方法为判断路径中是否含有搜索关键字keyWords,需求是当含有搜索关键字时显示为搜索结果,无需关注。

function findKey(name){        var str=window.location.href;        return str.indexOf(name)==-1?false:true;    }

点击清除搜索记录时清除user-data,即:

localStorage.removeItem("user-data");

点击搜索时将搜索框val拼入路径,页面刷新获取后台数据,减少ajax请求,search.html为相对路径,即是当前文件名即可:

window.location.href='search.html?keyWords='+encodeURI($('#keyword').val());

实现此需求只需后端一个页面即可(我们后端为asp.net),贴出完整测试代码:

    
论坛搜索
搜索
清除搜索记录

直接复制到本地便可测试,调试状态为移动端效果更佳,如果路径中含有keyWords则为测试数据,将.html后面的数据删除即是搜索页面。

若有疑问或错误,请多多交流,谢谢~~

转载地址:http://skjko.baihongyu.com/

你可能感兴趣的文章
基本分类方法——KNN(K近邻)算法
查看>>
在XenCenter6.2中构建CentOS7虚拟机的启动错误
查看>>
.NET Framework3.0/3.5/4.0/4.5新增功能摘要
查看>>
php中表单提交复选框与下拉列表项
查看>>
熟悉常用的Linux操作
查看>>
面象过程与面象对象
查看>>
谷歌设置支持webgl
查看>>
js的AJAX请求有关知识总结
查看>>
Eclipse添加新server时无法选择Tomcat7的问题
查看>>
nginx 配置https 负载均衡
查看>>
双拓扑排序 HDOJ 5098 Smart Software Installer
查看>>
三分 POJ 2420 A Star not a Tree?
查看>>
存储过程报错行提示
查看>>
Leetcode 4 - median-of-two-sorted-arrays
查看>>
修改OBS为仅直播音频
查看>>
OCA读书笔记(3) - 使用DBCA创建Oracle数据库
查看>>
CKEditor的使用-编辑文本
查看>>
puppet来管理文件和软件包
查看>>
Python基础进阶之路(一)之运算符和输入输出
查看>>
阻塞非阻塞异步同步 io的关系
查看>>