写本地存储功能localstorage
window.onbeforeunload = () => {
//localStorage只能存储字符串,所以先把hashMap转化为字符串,运用到的API是 JSON.stringify()
const string = JSON.stringify(hashMap);
//localStorage是个全局变量
localStorage.setItem("x", string); //在本地的存储里面设置一个x,里面存放这个字符串
};
需要注意的是:localStorage只能存储字符串,hashmap是一个数组,存储时需要将其转化为字符串,这里面用到的API是 JSON.stringify()
序列化
读出来的时候需要将其恢复成对象
const x = localStorage.getItem("x");
const xObject = JSON.parse(x);
用到JSON.parse()
反序列化
监听
在写键盘监听事件的时候出现的bug是,在搜索框输入英文依然会触发事件跳转,所以需要在搜索框处写上一个阻止事件冒泡,使其不会触发该事件
$(document).on("keypress", (e) => {
const { key } = e;
console.log(key);
for (let i = 0; i < hashMap.length; i++) {
if (hashMap[i].logo.toLowerCase() === key) {
window.open(hashMap[i].url);
}
}
});
$input.on("keypress", (e) => {
e.stopPropagation();
});
一些API
一些API
window.prompt("请问你要添加的网址是什么"); //用prompt这个全局方法来问用户
toLowerCase()小写
toUpperCase()大写