BOM的介绍

Posted lxx7

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BOM的介绍相关的知识,希望对你有一定的参考价值。

BOM

BOM的介绍

javasctipt基础分为三个部分:

  • ECMAScript : javascript的语法标准 . 包括变量  表达式  运算符  函数 if语句  for语句
  • DOM : 文档对象模型 ,操作网页上的元素的API . 比如让盒子移动 ,变色 轮播图
  • BOM : 浏览器对象模型,操作浏览器部分功能的API . 比如让浏览器自动滚动

什么是BOM

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

BOM结构图:

技术分享图片

从上得知:

  • window 对象时BOM的顶层(核心)对象,所有对象都是通过它延伸出来的,也可以成为window的子对象
  • DOM是BOM的一部分

window对象:

  • window对象时javascript中的顶级对象 .
  • 全局变量 . 自定义函数也是window对象的属性和方法.
  • window 对象下的属性和方法调用时,可以省略window

弹出系统对话框

比如说,alert(1)是window.alert(1)的简写,因为window的子方法 . 

系统对话框有三种:

alert( ) ;// 不同浏览器中的外观是不一样的
confirm( );//兼容不好
prompt( ); //不推荐使用

打开窗口/ 关闭窗口

1 . 打开窗口:

window.open(url , target)
// url :要打开的地址
// target: 新窗口的位置 .可以是 _blank _self _parent
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        
        <!--行间的js中的open() window不能省略-->
        <button onclick="window.open(‘https://www.luffycity.com/‘)">路飞学城</button>
        
        <button>打开百度</button>
        <button onclick="window.close()">关闭</button>
        <button>关闭</button>
        
    </body>
    <script type="text/javascript">
        
        var oBtn = document.getElementsByTagName(‘button‘)[1];
        var closeBtn = document.getElementsByTagName(‘button‘)[3];
        
        oBtn.onclick = function(){
              //打开百度 //open(‘https://www.baidu.com‘) //打开空白页面 固定写法 open(‘about:blank‘,"_self") } closeBtn.onclick = function(){ if(confirm("是否关闭?")){ close(); } } </script> </html>

location对象

window.location 可以简写为 location .location相当于浏览器的地址栏.可以将url 解析成 独立的片段

location对象的属性:

  1. href : 跳转
  2. hash : 返回url 中 # 后面的内容,包含 #
  3. host : 主机名 包括端口
  4. hostname : 主机名
  5. pathname : url 中的路径部分
  6. protocol 协议:一般是 http/https
  7. search : 查询字符串

location.href 举例

demo1:点击盒子是,进行跳转 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<div>smyhvae</div>
<script>

    var div = document.getElementsByTagName("div")[0];

    div.onclick = function () {
      //在同一个窗口 location.href
= "http://www.baidu.com"; //点击div时,跳转到指定链接

// window.open("http://www.baidu.com","_blank"); //方式二 } </script> </body> </html>

demo2  :  5秒后自动跳转到百度

有时候,当我们访问一个不存在的网页时,会提示5秒后自动跳转到指定页面,此时就可以用到location。举例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<div>smyhvae</div>
<script>

    var div = document.getElementsByTagName("div")[0];

    div.onclick = function () {
        setTimeout(function() {
            // //点击div时,跳转到指定链接
            location.href = "http://www.baidu.com";

            //     window.open("http://www.baidu.com","_blank");  //方式二}
        },5000
    )}

</script>
</body>


</html>

demo 3 路由的跳转

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <a href="#/home">首页</a>
    <a href="#/course">课程</a>

    <div id="app"></div>

    <script>
        window.onhashchange = function(){
            console.log(location.hash);
            switch (location.hash) {
                case #/home:
                    document.getElementById(app).innerHTML = <h2>我是首页</h2>
                    break;
                case #/course:
                    document.getElementById(app).innerHTML = <h2>我是课程</h2>
                    break;
                default:
                    // statements_def
                    break;
            }
        }

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

 

location对象的方法

location.reloaad( )     重新加载

setTimeout(function(){
//3秒之后让网页整个刷新
window.location.reload();},3000)

history对象

1、后退:

  • history.back()

  • history.go(-1):0是刷新

2、前进:

  • history.forward()

  • history.go(1)

用的不多。因为浏览器中已经自带了这些功能的按钮:

 











以上是关于BOM的介绍的主要内容,如果未能解决你的问题,请参考以下文章

JS中DOM和BOM介绍

15 BOM的介绍

BOM的介绍

javascript之BOM对象(二location对象)

javascript中的BOM结构介绍

JavaScript BOM对象介绍