07.BOM的各种操作

141 阅读2分钟

一、认识BOM

浏览器对象模型

可以理解为:浏览器给我们提供的一系列方法

1.可以打开一个浏览器弹出框  .alert()

2.记录当前窗口大小

3.操作页面跳转
....

二、获取浏览器窗口的尺寸

JS的全局作用域 有一个window对象,我们BOM的方法都在它里面。

使用的时候 语法window.XXX 但是window可以忽略不写。

console.log(window);

console.log(window.innerWidth);
console.log(window.innerHeight);

04.png

三、浏览器的弹出框

浏览器的弹出层(confirm/alert/prompt)

confirm 返回布尔值

四、浏览器的地址信息

window有一个location内部记录了浏览器的地址信息

location内部有一个href属性,可以获取当前浏览器的地址,也可以给它赋值的新地址 实现页面跳转

在控制台中输入location 可以看到很多location的属性

setTimeout( function(){

window.location.href = 'http://www.baidu.com';

}  , 3000 )

五、浏览器的刷新功能

window对象内部有一个location 它的内部有一个reload方法

这个方法就是刷新

// 不可以在这里直接刷新  否则打开浏览器就会一直刷新
// window.location.reload();

// 设定一个定时器  多少时间后开始刷新
var count = 0;
setInterval(function () {
   count++;
   console.log(count);

   if (count === 5) {
       window.location.reload();
   }
}, 1000)

六、浏览器的历史记录

浏览器的历史记录(模拟在上角的回退与前进)

        window内部有一个history 内部有方法能够让我们能实现浏览器的 前进回退功能

        window.history.back()  回退
        window.history.forword()  前进(必须现在有过一次回退 才会使用前进)


        在控制台中去进行  

七、浏览器的版本信息

浏览器的版本信息(了解)

开发的时候不用 面试官也不问

window 对象中的  navigator 对象可以查看相关信息

八、浏览器的onload事件

onload事件  等到页面的所有资源加载完毕后再执行

            浏览器的图片加载是异步的
 
// 在本地会加载得特别快 
window.onload = function(){
console.log(111);
}

九、浏览器的滚动事件

浏览器的onscrol事件 其实就是浏览器的滚动事件 浏览器页面滚动的时候会触发

        <!DOCTYPE html>有这个声明
            document.documentElement.scrollTop  有效  用得更多

        
        <!DOCTYPE html>无这个声明
            document.body.scrollTop 有效

        但是现在都声明了<!DOCTYPE html>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        body {
            width:40000px;
            height: 4000px;
        }
    </style>
</head>
<body>
    <script>
        window.onscroll = function () {
            console.log('页面滚动了');
            console.log('document.body.scrollTop:', document.body.scrollTop);
            console.log('document.documentElement.scrollTop:' ,  document.documentElement.scrollTop);
        
            console.log('document.body.scrollLeft:', document.body.scrollLeft);
            console.log('document.documentElement.scrollLeft:' ,  document.documentElement.scrollLeft);
        }
    </script>
</body>
</html>

十、浏览器的本地存储

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        /*
            本地存储(面试必问)
                1.localStorage
                    浏览器的本地存储(永久存储),打开浏览器存储上之后,关闭浏览器,信息依然存在里面不会删除

                    存储语法:  window.localStorage.setItem(key , value);       新增数据

                                window.localStorage.removeItem(key);            删除数据

                                window.localStorage.clear();                    清除数据

                                window.localStorage.getItem(key);               获取数据     

                            value必须为字符串

                            删除一次性只能删除一个

                2.sessionStorage
                    临时存储

                    特点:页面关闭  直接清楚数据

                    value必须是字符串

                    存储语法:  window.sessionStorage.setItem(key ,value);      新增数据

                                window.sessionStorage.getItem(key);             获取数据

                                window.sessionStorage.removeItem(key);          删除数据

                                window.sessionStorage.clear();                  清除数据

        */

        // localStorage的四个语法
        // 新增
        var res1 = window.localStorage.setItem('name1' , '羽生');
        var res2 = window.localStorage.setItem('name2' , '结弦');
        var res3 = window.localStorage.setItem('name3' , '柚子');
        var res4 = window.localStorage.setItem('name4' , '噗噗');

        // 获取
        console.log(window.localStorage.getItem('name1'));

        // 删除
        window.localStorage.removeItem('name1');

        // 清除
        window.localStorage.clear();


        // sessionStorage
        // 新增
        var res1 = window.sessionStorage.setItem('name1' , '羽生');
        var res2 = window.sessionStorage.setItem('name2' , '结弦');
        var res3 = window.sessionStorage.setItem('name3' , '柚子');
        var res4 = window.sessionStorage.setItem('name4' , '噗噗');

        // 获取
        console.log(window.sessionStorage.getItem('name1'));

        // 删除
        window.sessionStorage.removeItem('name1');

        // 清除
        window.sessionStorage.clear();



        // 存储对象
        var obj ={
            name:'羽生',
            age:28,
            sex:'男',
        }

        // 先把对象obj以JSON字符串的形式存储到localStorage中
        window.localStorage.setItem('obj' , JSON.stringify(obj)) ;

        // 在将JSON字符串转化成数组类型 在控制台输出
        var newObj = JSON.parse( window.localStorage.getItem('obj') );
        console.log(newObj);
    </script>
</body>
</html>