使用localStorage制作歷史搜索記錄

2023-02-22    分類: 網站建設

localStorag是在HTML5中,新加入的一個特性,localStorage主要是用來作為本地存儲來使用的,用來解決cookie存儲空間不足的問題,因為cookie中每條cookie的存儲空間為4k,但是localStorage在一般瀏覽器中支持的是5M大小,這個大小在不同的瀏覽器中會有所不同。
localStorage的優勢是拓展了cookie的4K限制,localStorage會可以將第一次請求的數據直接存儲到本地,這個相當于一個5M大小的針對于前端頁面的數據庫,相比于cookie可以節約帶寬,但是局限性是只有在IE8以上的IE版本才支持localStorage這個屬性。目前所有的瀏覽器中都會把localStorage的值類型限定為string類型,所以在使用時,需要把string類型轉成我們常用的JSON數組對象類型。localStorage在瀏覽器的隱私模式下是不可讀取的,localStorage本質上是對字符串的讀取,如果存儲內容多的話會消耗內存空間,會導致頁面變卡,所以需要控制存儲的數據量,或者清除存儲數據。localStorage不能被爬蟲抓取到,從一定程度上保護了用戶個人隱私。

input

以下是使用展示

JS代碼
因為我搜索框與展示搜索結果記錄的頁面是分開的,所以我這邊是先把搜索值傳遞到后臺,然后再傳到前端。
搜索列表
然后就能得到以下的歷史搜索記錄列表
JS
根據網站的需求,我這邊還加上了刪除單條歷史搜索記錄,清除所有歷史搜索記錄以及根據歷史搜索記錄再查詢功能。
以下貼具體代碼:
html
前端代碼:
<div class="orderlist">
<ul id="keyname">
</ul>
<div class="btn">
<input type="button" id="Clear" onclick="DeletaAll()" value="Clear" class="b1" />
<input type="button" id="Track" onclick="Track()" value="Track" class="b2"/>
</div>
</div>
JS代碼
Javascript代碼:
<script>
var searchArr;
//定義一個search用來存儲搜索記錄的,判斷瀏覽器有無數據存儲(搜索歷史)
if(localStorage.search){
//如果有,則把搜索記錄轉成數組的形式存放到searchArr的數組里(localStorage以字符串的形式存儲,所以要把它轉換成數組的形式)
searchArr= localStorage.search.split(",")
}else{
//如果沒有,則定義searchArr為一個空的數組
searchArr = [];
}
// console.log(searchArr);
//把存儲的數據顯示出來作為搜索歷史
MapSearchArr();
$(function(){
var val = '{$trackNo}';//接收從后臺傳來的搜索值
if(val!=''){
//判斷搜索值是否已重復,如果重復就去重
KillRepeat(val);
//去重后把數組存儲到瀏覽器localStorage
localStorage.search = searchArr;
//然后再把搜索內容顯示出來
MapSearchArr();
}
});
function MapSearchArr(){
var tmpHtml = "";
for (var i=0;i<searchArr.length;i++){
var n = i+1;
tmpHtml += "<li onclick='Choose(this)'><div class='t1'>"+n+".</div><div class='t2'>"+searchArr[i]+"</div><div class='ic' onclick='Del(this)'></div></li>"
}
$("#keyname").html(tmpHtml);
}
//去重
function KillRepeat(val){
var kill = 0;
for (var i=0;i<searchArr.length;i++){
if(val===searchArr[i]){
kill ++;
}
}
if(kill<1){
searchArr.push(val);
}
}
//刪除搜索記錄
function Del(obj){
var n = $(obj).prev().text();
DeleteArr(n);
}
//刪除
function DeleteArr(val){
for (var i=0;i<searchArr.length;i++){
if(val==searchArr[i]){
searchArr.splice(i,1);
}
}
if(searchArr.length==0){
DeletaAll();
}else{
localStorage.search = searchArr;
window.location.reload();
}
}
//刪除所有的搜索記錄
function DeletaAll(){
localStorage.clear();
window.location.href="{:urlrotue('Search/index2')}";
}
function Choose(obj){
$(obj).addClass('on').siblings().removeClass('on');
}
//點擊搜索記錄進行查詢
function Track(){
var trackno = $(".on").children('.t2').text();
window.location.href = "{:urlrotue('Search/index2')}?trackNo="+ trackno;
}
</script>

新聞標題:使用localStorage制作歷史搜索記錄
鏈接地址:http://m.kartarina.com/news2/238952.html

成都網站建設公司_創新互聯,為您提供面包屑導航網站排名網站內鏈網站營銷搜索引擎優化ChatGPT

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

網站建設網站維護公司
主站蜘蛛池模板: 国产成人无码网站| 亚洲高清无码在线观看| 日韩av无码一区二区三区| 少妇人妻无码精品视频app| 无码人妻丰满熟妇啪啪网站牛牛| 日韩经典精品无码一区| 亚洲综合无码一区二区三区| 无码A级毛片日韩精品| 亚洲精品午夜无码专区| 国产精品无码久久久久久久久久 | 青春草无码精品视频在线观| 亚洲中文字幕无码久久2017| 国产精品无码AV天天爽播放器| 亚洲成AV人在线观看天堂无码| 无码精品人妻一区二区三区AV| 人禽无码视频在线观看| 免费无码又爽又刺激网站直播 | 免费无遮挡无码永久视频| 无码人妻aⅴ一区二区三区有奶水| 亚洲VA成无码人在线观看天堂| 亚洲 无码 在线 专区| 国产精品无码久久四虎| 亚洲精品无码久久久久A片苍井空| 无码人妻AⅤ一区二区三区| 韩日美无码精品无码| 无码精品人妻一区| 亚洲av中文无码| 免费a级毛片无码a∨蜜芽试看| 免费精品无码AV片在线观看| 无码人妻AⅤ一区二区三区| 少妇人妻无码精品视频app| 无码日韩人妻精品久久蜜桃 | 亚洲午夜福利AV一区二区无码| 免费无码国产在线观国内自拍中文字幕| 精品久久久久久无码专区| 久久久久亚洲AV无码永不| 日韩精品无码一区二区三区不卡 | 亚洲av无码一区二区三区不卡| 久久亚洲av无码精品浪潮| yy111111少妇影院里无码| 亚洲人成人无码网www国产|