localstorage本地化存储关键词搜索历史记录代码

localstorage本地化存储关键词搜索历史记录代码

添加时间:2021-02-17 19:01:17
站长推荐丨赞助论坛,可获取海量资源终身免费下载权限奥!
举报 举报
收藏
预览
附件 附件
  • 模板类型模板类型:搜索框
  • 模板颜色模板颜色:初级
  • 下载积分下载积分:28 米粒
  • 下载权限下载权限:

    赞助会员

利用localstorage本地化存储关键词搜索历史记录代码,一款简单实用基于jQuery的搜索框输入关键词文字历史记录插件,还可以清除历史记录。
localstorage本地化存储关键词搜索历史记录代码
分类:表单代码 > 搜索框 难易:初级

js代码

<script type="text/javascript">
    $(function(){
        update_history();
        // 绑定回车事件
        $(document).keydown(function(event){ 
            if(event.keyCode==13){ 
                $("#search").click(); 
            } 
        }); 

        // 搜索点击事件
        $("#search").click(function(){
            var keywords = $("#keywords").val();
            history(keywords); //添加到缓存
            update_history(); //更新搜索历史
        })

        // 清空搜索历史
        $("#empty").click(function(){
            mystorage.remove('keywords');
            $("#history").html(" ");
        })
    })

    /**
     * [update_history 更新搜索历史]
     * @return {[type]} [description]
     */
    function update_history(){
        console.log(mystorage.get("keywords"));
        var history = mystorage.get("keywords");
        if (history) {
            var html = "";
            $.each(history,function(i,v){
                html += "<a class='btn btn-default' href='javascript:;' role='button'>"+v+"</a>"
            })
            $("#history").html(html);
        };
    }
                

    /**
     * [history //搜索历史函数存储]
     * @param  {[type]} value [搜索词]
     * @return {[type]}       [description]
     */
    function history(value){  
        var data = mystorage.get("keywords");
        if (!data) {
            var data = []; //定义一个空数组
        }else if(data.length === 5){ //搜索历史数量
            data.shift();  //删除数组第一个元素有
        }else{
            
        };
        if (value) {  //判断搜索词是否为空
            if (data.indexOf(value)<0) {  //判断搜索词是否存在数组中
                data.push(value);    //搜索词添加到数组中
                mystorage.set("keywords",data);  //存储到本地化存储中
            };
        };
    }

    /**
     * [mystorage 存储localstorage时候最好是封装一个自己的键值,在这个值里存储自己的内容对象,封装一个方法针对自己对象进行操作。避免冲突也会在开发中更方便。]
     * @param  {String} ){                 var ms [description]
     * @return {[type]}     [description]
            console.log(mystorage.set('tqtest','tqtestcontent'));//存储
            console.log(mystorage.set('aa','123'));//存储
            console.log(mystorage.set('tqtest1','tqtestcontent1'));//存储
            console.log(mystorage.set('tqtest1','newtqtestcontent1'));//修改
            console.log(mystorage.get('tqtest'));//读取
            console.log(mystorage.remove('tqtest'));//删除
            mystorage.clear();//整体清除
     */
    var mystorage = (function mystorage(){
        var ms = "mystorage";
        var storage=window.localStorage;
        if(!window.localStorage){
            alert("浏览器不支持localstorage");
            return false;
        }
        var set = function(key,value){
            //存储
            var mydata = storage.getItem(ms);
            if(!mydata){
                this.init();
                mydata = storage.getItem(ms);
            }
            mydata = JSON.parse(mydata);
            mydata.data[key] = value;
            storage.setItem(ms,JSON.stringify(mydata));
            return mydata.data;
        };
        var get = function(key){
            //读取
            var mydata = storage.getItem(ms);
            if(!mydata){
                return false;
            }
            mydata = JSON.parse(mydata);
            return mydata.data[key];
        };
        var remove = function(key){
            //读取
            var mydata = storage.getItem(ms);
            if(!mydata){
                return false;
            }
            mydata = JSON.parse(mydata);
            delete mydata.data[key];
            storage.setItem(ms,JSON.stringify(mydata));
            return mydata.data;
        };
        var clear = function(){
            //清除对象
            storage.removeItem(ms);
        };
        var init = function(){
          storage.setItem(ms,'{"data":{}}');
        };
        return {
            set : set,
            get : get,
            remove : remove,
            init : init,
            clear : clear
        };
    })();
</script>
相关内容推荐
资源求助发帖
查看更多发帖

*

回帖描述:

*

链接类型:

*

下载链接:

密码:
发帖规则:回帖内容为会员之间的私信,普通网友无法查看。
免责声明:回帖中提供的链接内容仅供会员之间学习参考使用,获取内容后请在法律法规范围内使用。回帖提供的内容应符合法律法规要求,不得违反法律法律的要求。
站点权责:回帖内容如违反法律法规,站点有权封停账号使用权利。对用户举报的内容,站点有责任及时删除违规内容。
热点内容推荐
标题:localstorage本地化存储关键词搜索历史记录代码

*

描述:
平均回复时间:3-10分钟
规则介绍:悬赏寻求论坛网友分享资源,站点对分享内容的准确性,合法性,版权等没有足够的监管能力。如果您发现资源不正确,无法使用,不符合法律法律等情况,您可以直接举报资源。站长将尽快核实您的举报,并根据情况,采取封号,退换米粒等处理。

*

回帖描述:

*

链接类型:

*

阅读权限:

*

下载链接:

密码:
发帖规则:回帖内容为会员之间的私信,普通网友无法查看。
免责声明:回帖中提供的链接内容仅供会员之间学习参考使用,获取内容后请在法律法规范围内使用。回帖提供的内容应符合法律法规要求,不得违反法律法律的要求。
站点权责:回帖内容如违反法律法规,站点有权封停账号使用权利。对用户举报的内容,站点有责任及时删除违规内容。
  • 背景波浪
  • 背景波浪
  • 波浪
  • 波浪
客服
在线咨询
周一 至 周日 9:00 ~ 22:00
QQ:1326974360
微信:juyoubuluo6688
客服热线
18205485173
工作日 9:00 ~ 18:00
微信扫码咨询
客户服务
欢迎咨询服务
咨询量较多时,请耐心等待
社群

关注公众号

获取更多资讯

扫码进群(QQ)

与更多大牛交流沟通

0.122537s