JS - BOM

195 阅读1分钟

location

setTimeout(function(){
    location.href = 'https://www.bilibili.com/video/BV1v7411q7Pe?p=5';
    //在这种情况下触发了延时器2秒后跳转页面 按返回上个历史页面后两秒后 继续触发延时器跳转页面
    location.replace('https://www.bilibili.com/video/BV1v7411q7Pe?p=5');
    //这个情况下返回历史页面后不继续触发延时器跳转页面
    location.reload();
    //两秒后重载页面
},2000)

href与replace本质的区别

  • href:跳转后的页面 使用浏览器上的返回键可以返回历史记录
  • replace:跳转后的页面 浏览器上的返回键无法点击

replace其实是将当前的url替换了,而非跳转,并不会保存记录

navigator

console.log(navigator.plugins);//显示浏览器插件
//可以创建一个函数去寻找浏览器有没有对应的插件
function hasplugins(name){
    name= name.toLowerCase();//将所需查找的插件名转换成小写方便查询
    for(var i = 0; i < navigator.plugins.length; i++){
        if(navigator.plugins[i].name.toLowerCase().indexOf(name)>-1){
        //将浏览器的所有插件name属性转化成小写再与实参对比,如果不一致,indexOf()返回-1
        //即可返回false表示无该插件
            return true;
        }else{
            return false;
        }
}
alert(hasplugins('JAVA'));//注意要以字符串形式输入''

history

history中使用最多的是go

history.go(0);//刷新当前页面
history.go(1);//前进到下一个已经加载过的页面
history.go(-1);//后退到上一个历史页面