搜了一个的js cookie 的用法,发现好多都是错误的,不是错得很离谱就是用法很老了,代码写得不简洁。最后自己搞好后总结下,这个需求还是比较普遍的,记录下
var historyCount = 15; //保存历史记录个数 /** * 增加浏览历史记录 * @return */ function setHistory(keyWord) { var keyWords = $.cookie('keyWord'); if (keyWords) { if(keyWord) { var keys = keyWords.split(","); for (var i = keys.length - 1; i >= 0; i--) { if (keys[i] == keyWord) { keys.splice(i, 1); } } keys.push(keyWord); if (keys.length >= historyCount) { //删除最开始的多余记录 var count = keys.length - historyCount + 1; //需要删除的个数 keys.splice(0, count); //开始位置,删除个数 } $.cookie('keyWord', keys.join(','), {expires: 365, path: '/'}); } } else { $.cookie('keyWord', keyWord, {expires: 365, path: '/'}); } } function delHistory(){ $.cookie("keyWord",null,{path:"/",expires: -1}); } function getHistory(){ var keyWords = $.cookie('keyWord'); if(keyWords) { var keys= keyWords.split(","); var length = keys.length; if (length > 0) { $("#historyRecord").empty(); var htmlString = "<dt>历史搜索</dt><dd>"; for (var i = length - 1; i >= 0; i--) { htmlString += "<a href='javascript:;' >" + keys[i] + "</a>"; } htmlString += "</dd>"; $("#historyRecord").html(htmlString) } } }
登录后复制