var kbd = document.createElement('kbd');
var button = document.createElement('button');//创建标签
kbd.appendChild(button);//将button标签添加到kbd标签中
button.textContent = 'edit';//button标签的内容为 edit
button.className = 'btn';//button标签的class为 btn
xxx = button.previousSibling;//获取上一个兄弟节点
document.onkeypress = function(btn){
//console.log(btn)
var key = btn['key'];//获取用户按键
// location.href = 'http://'+hash[key];//当前页面打开地址
window.open('http://'+hash[key],'_blank');
}
img.onerror = function(param){//在装载文档或图像的过程中如果发生了错误,就会触发onerror事件。可以使用一张提示错误的图片代替显示不了的图片
param['target']['src'] = './img/replace3.png';//触发了onerror事件的img重新定义图片
}
- 监听键盘事件
document.onkeypress = function(sfdsfdf){ ... }
- 当前地址栏的地址,模拟用户在地址栏输入
location.href = 'http://'+website
只能在当前窗口中打开,location.href 不支持在新窗口中打开,没有_blank那个属性 - 在新标签页中打开,模拟用户新开一个页面
window.open = 'http://' + website, '_blank'
关于window.open()
window.open('http://'+hash[website]);//在新窗口中打开
window.open('http://'+hash[website],'_blank');//在新窗口中打开
window.open('http://'+hash[website],'_search');//在新窗口中打开
window.open('http://'+hash[website],'_self');//在当前窗口中打开
button.onclick = function(param){
// console.log(param)
var newHref = prompt('自定义一个新地址吧~~');
// console.log(param['target']['className'])
var btnClassName = param['target']['id'];//获取点击的button的id,例如用户按的a键,则这里获取的值为a
hash[btnClassName] = newHref;//将自定义的地址赋值给hash
}
本地存储
赋值:
localStorage.setItem('dfdf',JSON.stringify(hash));
localStorage 有很多的桶,这个相当于把hash放进桶里并且命名为 dfdf ,因为localStorage只能接受字符创,所以需要写成JSON.stringify(hash)
浏览器中查看位置:
image.png
取值:
hashInLocalStorage = JSON.parse(localStorage.getItem('dfdf') || 'null');
取出localStorage中 dfdf 对应的hash。如果此处的'null'改为'',那么在localStorage的值为空时会报错:尝试把一个不存在的东西变为对象,如下图:
image.png
- null表示未指向任何对象,没有实际的值。null可以赋值给任何对象。
- ''表示一个没有内容的字符串,这个字符串存在,它的值就是''
js中声明变量并赋值的方式:
a = 1
var a = 1
let a = 1
const a = 1
window.a = 1
网友评论