BOM

79 阅读2分钟

什么是BOM

BOM,Browser Object Model,即浏览器对象模型

其实就是操作浏览器的一些能力,我们可以操作:

  • 获取一些浏览器的相关信息(窗口的大小)
  • 操作浏览器进行页面跳转
  • 获取当前浏览器地址栏的信息
  • 操作浏览器的滚动条
  • 浏览器的信息(浏览器的版本)
  • 让浏览器出现一个弹出框(alert/confirm/propmt)
  • BOM的核心就是 window 对象
  • window是浏览器内置的一个对象,里面包含着操作浏览器的方法

javascrit的三部分组成

ECMASCRIPT      javascript语法

BOM             浏览器对象模型

DOM             文档对象模型

   BOM

作用:操作浏览器的能力

window对象 浏览器窗口对象

   ==> 创建window

                系统创建

        ==> 属性和方法

                history 子对象 -> 历史记录对象

                location 子对象 -> 地址栏对象(位置对象)

                document 子对象 -> 文档对象 html文档  (重点学习)

                navigator  包含浏览相关信息

                screen   用户屏幕相关属性

            常用方法

            alert()     信息提示框

            confirm()   信息确认框

            prompt()    信息输入框

            window.alert()

                =>使用window根对象属性或方法时,window对象可以省略

       function test1(){
            // window.alert('今天是周四!')
            // alert('这也可以的')
            var isOk = window.confirm('确定要离开吗?')
            // document.write('isOk ',isOk);
            if(isOk){
                alert('再见')
            }else{
                alert('真好')
            }
        }
        // test1()
     function test2(){
          var score =  window.prompt('请输入你的成绩!')
          var newScore = Number(score) + 10
          alert(newScore)
      }
      // test2()

            open() 打开浏览器窗口

                open(url,窗口名称,参数)

                close()

     function test3(){
        open('http://ww.baidu.com','百度','')
        }

        

        // test3()

            定时器

            setTimeout()  倒计时定时器

            setInterval()  循环定时器

            语法:

                var timer = window.setTimeout(function(){

                    //定时器执行代码

                },1000)

                clearTimeout(timer) //清除定时器

      function test4(){
            window.setTimeout(function(){
            document.write('今天天气好多了')
        },2000)
     }
        // test4()

     function test5(){
         var n = 0
      // var m = 0
         var timer =  window.setInterval(function(){
         document.write(n++,'<br>')
             if(n > 20){
                 clearInterval(timer)
             }
         },1000)
    }
        test5()

history

            作用:操作历史记录

            操作对象:

                window.history

            方法和属性

                back()   后退

                forwqrd()   前进

                go() gp(-1)  go(1)

location

            位置对象/地址栏对象

            刷新  url地址栏输入框

            window.location

            方法和属性

            href属性

                location.href

                    => 获取当前页面的url地址

                    => 设置url 跳转url地址对应页面

            方法

                reload() 刷新界面

浏览器窗口尺寸

            innerHeight

            innerWidth

      <button onclick="setTop(500)">设置顶部</button>
        <h2>滚动事件属性</h2>
        <div></div>
        <script>
            window.onscroll = function(){
                // console.log('scrollTop:', document.documentElement.scrollTop);
                // console.log('body', document.body.scrollTop);
                var scrollTop = getScroll()
                console.log(scrollTop);
            }
            //兼容性处理
            function getScroll(){
                // 逻辑或, 前面有值(true)直接返回,否则返回后面的值
                return document.documentElement.scrollTop || document.body.scrollTop
            }
            function setTop(top){
                if(!document.documentElement.scrollTop){
                    document.documentElement.scrollTop = top
                }else{
                   document.body.scrollTop = top
               }
            }