BOM操作

Day09笔记 BOM

一、BOM介绍:

1、BOM( Browser Object Model)—> 浏览器对象模型。

2、BOM 作用:主要提供了访问和操作浏览器各组件的方式。

在这里插入图片描述

window浏览器窗口对象是js中最大的对象。其他所有的对象,都是window的子对象

document文档对象,代表一个网页

location地址栏对象,对地址栏的操作一些方法

navigator浏览器软件对象,主要用来判断用户用的是什么浏览器,可以解决兼容性问题

screen屏幕对象,可以获取屏幕相关的信息

history历史记录对象,可以对浏览器的历史记录进行相关的操作

注意点:

1、window是全局浏览器内置顶级对象 表示浏览器中打开的窗口(没有应用于window对象的公开标准,不过所有浏览器都支持该对象)Window 对象表示一个浏览器窗口或一个框架。

2、在客户端 JavaScript 中,Window 对象是全局对象,所有的表达式都在当前的环境中计算。也就是说,要引用当前窗口根本不需要特殊的语法,可以把那个窗口的属性作为全局变量来使用。

例如,可以只写 document,而不必写 window.document。

同样,可以把当前窗口对象的方法当作函数来使用,如只写 alert(),而不必写 window.alert()。

除了上面列出的属性和方法,Window 对象还实现了核心 JavaScript 所定义的所有全局属性和方法。
二、window对象常用的方法
1.prompt() 显示可提示用户输入的对话框

2.alert() 显示一个带有提示信息和一个“确定”按钮的警示对话框

3.confirm() 显示一个带有提示信息、“确定”和“取消”按钮的对话框

4.close() 关闭浏览器窗口   close()方法用于关闭浏览器窗口,语法:window.close();

5.定时器
a、间隔定时器setInterval(开启)clearInterval(关闭)

b、超时定时器setTimeout(开启)   clearTimeout(关闭)   
          
6. open()方法   功能:打开一个新的浏览器窗口

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <button id="btn">按钮</button>
    <script>
        // confirm() 显示一个带有提示信息、“确定”和“取消”按钮的对话框
        // var res = window.confirm('邓川在聊什么呢?')
        // console.log(res)

        // if(confirm('你确定要提交吗?')){
        //     alert('已经提交')
        // }else{
        //     alert('取消成功')
        // }

        // 定时器
        // window.setInterval(function(){
        //     console.log(123)
        // }, 1000)

        // 关闭浏览器窗口
        // 注意点:有些浏览器关闭窗口的时候并不会直接给你关闭,有可能给你一个提示
        // document.getElementById('btn').onclick = function(){
        //     // window.close()
        //     // close()
        // }

        // 打开一个窗口
        document.getElementById('btn').onclick = function(){
            // 参数1表示要打开那个链接窗口
            // 参数2表示是否新窗口打开 _self _blank
            // 参数3表示窗口打开时的样式(很多的浏览器不支持)
            window.open('https://www.jd.com', '_blank', 'width=300px; height=300px')
        }

    </script>
</body>
</html>
三、location地址栏对象 (地址栏)
1、hostname 设置或返回当前URL的主机名

2、href:获取地址栏中完整的地址。可以实现JS的网页跳转。location.href = “http://www.sina.com.cn”;

3、pathname:文件路径及文件名

4、protocol:协议,如:http://、ftp://

5、hash:锚点名称。如:#top 哈希

6、reload([true]):刷新网页。true参数表示强制刷新  location.search 获取查询字符串

a、是网页浏览后,一般会在本地留下缓存,普通刷新的话,浏览器会优先获取缓存里的资源代替从服务器上请求,以提高访问速度。

b、强制刷新就是告诉浏览器不要获取缓存,重新从服务器请求网页上的所有资源,适用于开发测试或者某些资源更新。

7、注意:所有的属性,重新赋值后,网页将自动刷新。

<meta  http-equiv = 'refresh'  content = '5;url=http://www.sina.com.cn' /> 扩展

<meta name="keywords"   content="" /> 向搜索引擎说明你的网页的关键词

<meta name="description"  content=""/> 告诉搜索引擎你的站点的主要内容

“描述”部分应该用近乎描述的语言写下一段介绍你网站的文字,在这其中,你应该适当的对你网站的特色内容加以重复以求突出;
“关键字”部分应该列出你认为合适的,能突出网站内容的关键字就可以了,关键字不要设置太多,可设置10---8个,搜索引擎只会浏览靠前的几个关键字。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <!-- <meta  http-equiv = 'refresh'  content = '3;url=http://www.sina.com.cn' /> -->
</head>
<body>
    <button id="btn">京东</button>
    <script>
        // href 可以设置跳转的地址和获取地址栏的地址
        // document.getElementById('btn').onclick = function(){
        //     location.href = 'https://www.jd.com'
        // }

        // hash 哈希值,可以进行网页不同的位置的跳转(锚点)
        
        // search 可以获取查询字符串
        // console.log('?username=zhangsan&password=123'.slice(1))

        // reload([true]):刷新网页。true参数表示强制刷新  location.search 获取查询字符串
        // document.getElementById('btn').onclick = function(){
        //     location.reload(true)
        // }
        
    </script>
</body>
</html>
四、navigator对象 (软件)
1、appName:浏览器软件名称   appCodeName  浏览器软件名称现在没有多大参考意义了

2、appVersion:浏览器软件的核心版本号。 

3、platform:平台

4、userAgent浏览器版本信息(记住)

navigator对象:指的是浏览器软件信息

浏览器历史

五、history对象 (历史)
1、back()  后退

2、forward() 前进

3、go() 

4、history.back()===  history.go(-1) 浏览器中的  后退

5、history.forward() === history.go  ( 1 )   浏览器中的  前进 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        button{
            display: block;
            margin: 20px;
        }
    </style>
</head>
<body>
    <h1>这是第一个页面</h1>
    <a href="html/page1.html">去page1的页面</a>
    <button>前进</button>
    <script>
        var aBtn = document.getElementsByTagName('button')[0]
        aBtn.onclick = function(){
            history.forward()
        }

    </script>
</body>
</html>
六、screen屏幕对象 (屏幕)
1、width:返回屏幕的宽度,只读属性。  window.screen.width 

2、weight:返回屏幕的高度,只读属性。 window.screen.height

3、availWidth:屏幕的有效宽度,不含任务栏。只读属性。

4、availHeight:屏幕的有效高度,不含任务栏。只读属性。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        console.log(screen.width)
        console.log(screen.height)
        console.log(screen.availWidth)
        console.log(screen.availHeight)
    </script>
</body>
</html>
七、window对象事件
1、window.onload 当网页加载完成,指<body>标记的所有内容全部加载完成,才触发该事件(条件)

2、为窗口添加滚动条事件

onscroll 滚动事件

 scrolltop 垂直滚动条滚动的距离
 scrollleft 水平滚动条滚动的距离
 
 window.innerHeight - 浏览器窗口的可见高度 
 window.innerWidth - 浏览器窗口的可见宽度 


兼容写法:var scrolltop = document.documentElement.scrollTop||document.body.scrollTop; 


<!-- <!DOCTYPE html> -->
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        body{
            height: 2000px;
        }
    </style>
</head>
<body>
    <h1>老大哥来了</h1>
    <script>
        // onscroll 当滚动滚动条的时候触发
        // window.onscroll = function(){}
        onscroll = function(){
           // 获取滚动距离
           // console.log(document.documentElement.scrollTop)
           // 当没有声明文档类型的时候使用 
           // console.log(document.body.scrollTop)
           // console.log(document.documentElement.scrollLeft)

           var scrollTop = document.documentElement.scrollTop || document.body.scrollTop
           console.log(scrollTop)
        }

    </script>
</body>
</html>


3、window.onresize 事件会在窗口或框架被调整大小时发生
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值