javaWeb(五)----- BOM

简介: javaWeb(五)----- BOM

 BOM

✔  概念:Browser Object Model 浏览器对象模型

   * 将浏览器的各个组成部分封装成对象

✔  组成:

            * Window   窗口对象

            * Navigator   浏览器对象(不重要)

            * Screen   显示器屏幕对象 (不重要)

            * History   历史记录对象

            * Location   地址栏对象

✔  Window:窗口对象

    ☛ 创建:Window对象不需要创建可以直接使用

    ☛ 方法:

       (1)与弹出框有关的方法

                alert() ---   显示带有一段消息和一个确认按钮的警告框

                confirm() ---   显示带有一段消息以及确认按钮和取消按钮的对话框

                              如果用户点击确定按钮,则方法返回true

                              如果用户点击取消按钮,则方法返回false

                prompt() ---   显示可提示用户输入的对话框

                              返回值:获取用户输入的值

       (2)与打开关闭有关的方法

                close() ---   关闭浏览器窗口,谁调用我 ,我就关谁

                open() ---   打开一个新的浏览器窗口,返回新的Window对象

       (3)与定时器有关的方式

                setTimeout() ---   在指定的毫秒数后调用函数或计算表达式

                          * 参数:①   js代码或者方法对象 ;②  毫秒值

                          * 返回值:唯一标识,用于取消定时器

                clearTimeout() ---   取消由 setTimeout() 方法设置的 timeout

                setInterval() ---   按照指定的周期(以毫秒计)来调用函数或计算表达式

                clearInterval() ---   取消由 setInterval() 设置的 timeout。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Window对象</title>
</head>
<body>
   <input id="openBtn" type="button" value="打开窗口">
   <input id="closeBtn" type="button" value="关闭窗口">
   <script>
       // alert 方法
       alert("hello window");
       window.alert("hello a");
       // confirm 方法
       var flag = confirm("您确定要退出吗?");
       if (flag){
           // 执行退出操作
           alert("欢迎下次再光临!")
       }else{
           alert("不要手抖哦!")
       }
       // prompt 方法
       var result = prompt("请输入用户名");
       alert(result);
       var openBtn = document.getElementById("openBtn");
       var newWindow ;
       openBtn.onclick = function(){
           newWindow =open("https://www.baidu.com");
       }
       var closeBtn = document.getElementById("closeBtn");
       closeBtn.onclick = function(){
           newWindow.close();
       }
       // 一次性定时器
       // setTimeout("fun();",3000);
       var id = setTimeout(fun, 2000);
       clearTimeout(id);
       function fun(){
           alert('boom~~~');
       }
       // 循环定时器
       // setInterval(fun, 2000);
   </script>
</body>
</html>

image.gif

    ☛ 属性

        ①  获取其他BOM对象

              history     location     Navigator     Screen

        ②  获取DOM对象

              document

    ☛ 特点

         ①  Window对象不需要创建可以直接使用 window使用。 window.方法名();

         ②  window引用可以省略。  方法名();

    ☛ 案例:轮播图

<!DOCTYPE html>
<html lang="ch">
<head>
    <meta charset="UTF-8">
    <title>轮播图</title>
</head>
<body>
  <img id="banner_1" src="./imag/banner_1.jpg" width="100%">
  <script>
      var number = 1;
      function fun(){
          number++;
          // 判断number是否大于3
          if(number > 3){
              number = 1;
          }
          var image1 = document.getElementById("banner_1");
          image1.src = "./imag/banner_"+number+".jpg";
      }
      // 定时器
      setInterval(fun, 3000);
  </script>
</body>
</html>

image.gif

✔  Location:地址栏对象

    ☛ 创建(获取):

        ①  window.location       ②  location

    ☛ 方法:reload() ---   重新加载当前文档,即刷新

    ☛ 属性:href  ---   设置或返回完整的 URL

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Location对象</title>
</head>
<body>
   <input type="button" id="btn" value="刷新">
   <input type="button" id="go" value="去">
   <script>
       // reload 方法,定义一个按钮,点击按钮,刷新当前页面
       // 获取按钮对象
       var button = document.getElementById("btn");
       button.onclick = function(){
           location.reload();
       }
       // var h1 = location.href;
       // alert(h1);
       var button1 = document.getElementById("go");
       button1.onclick = function(){
           location.href="http://www.itcast.cn";
       }
  </script>
</body>
</html>

image.gif

    ☛ 案例:页面的自动跳转

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>自动跳转</title>
    <style>
        p{
            text-align: center;
        }
        span{
            color: red;
        }
    </style>
</head>
<body>
<p>
     <span id="time">5</span>秒之后,自动跳转到首页...
</p>
<script>
    var second = 5;
    var timeElement = document.getElementById("time");
    function showTime(){
        second -- ;
        if (second<=0){
            location.href="http://www.baidu.com";
        }
        timeElement.innerHTML = second+"";
    }
    setInterval(showTime,1000);
</script>
</body>
</html>

image.gif

✔  History:历史记录对象

    ☛ 创建(获取):

        ①   window.history

        ②  history

    ☛ 方法:

        ①  back()    加载 history 列表中的前一个 URL

        ②  forward()    加载 history 列表中的下一个 URL

        ③  go(参数)    加载 history 列表中的某个具体页面

              参数: 正数  ---  前进几个历史记录

                          负数  ---  后退几个历史记录

    ☛ 属性:length ---  返回当前窗口历史列表中的 URL 数量

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>History对象</title>
</head>
<body>
   <input type="button" id="btn" value="获取历史记录的个数">
   <a href="9_History对象2.html">09页面</a>
   <input type="button" id="forward" value="前进">
   <script>
       var button = document.getElementById("btn");
       button.onclick = function(){
           // 获取当前窗口历史记录个数
           var length = history.length ;
           alert(length);
       }
       var button1 = document.getElementById("forward");
       button1.onclick = function(){
           history.forward() ;
       }
   </script>
</body>
</html>

image.gif


相关文章
|
5月前
|
存储 前端开发 JavaScript
基于JavaWeb实现停车场管理系统
基于JavaWeb实现停车场管理系统
|
5月前
|
前端开发 JavaScript Java
图书借阅管理平台|基于JavaWeb实现图书借阅系统
图书借阅管理平台|基于JavaWeb实现图书借阅系统
112 1
|
2月前
|
设计模式 Java 关系型数据库
【Java笔记+踩坑汇总】Java基础+JavaWeb+SSM+SpringBoot+SpringCloud+瑞吉外卖/谷粒商城/学成在线+设计模式+面试题汇总+性能调优/架构设计+源码解析
本文是“Java学习路线”专栏的导航文章,目标是为Java初学者和初中高级工程师提供一套完整的Java学习路线。
412 37
|
1月前
|
前端开发 Java 应用服务中间件
Javaweb学习
【10月更文挑战第1天】Javaweb学习
32 2
|
1月前
|
安全 Java Android开发
JavaWeb解压缩漏洞之ZipSlip与Zip炸弹
JavaWeb解压缩漏洞之ZipSlip与Zip炸弹
50 5
|
2月前
|
缓存 前端开发 Java
【Java面试题汇总】Spring,SpringBoot,SpringMVC,Mybatis,JavaWeb篇(2023版)
Soring Boot的起步依赖、启动流程、自动装配、常用的注解、Spring MVC的执行流程、对MVC的理解、RestFull风格、为什么service层要写接口、MyBatis的缓存机制、$和#有什么区别、resultType和resultMap区别、cookie和session的区别是什么?session的工作原理
【Java面试题汇总】Spring,SpringBoot,SpringMVC,Mybatis,JavaWeb篇(2023版)
|
5月前
|
前端开发 Java 关系型数据库
JavaWeb开发简介
JavaWeb开发简介
55 0
|
2月前
|
安全 Java Android开发
JavaWeb解压缩漏洞之ZipSlip与Zip炸弹
JavaWeb解压缩漏洞之ZipSlip与Zip炸弹
101 2
|
2月前
|
SQL JSON JavaScript
JavaWeb基础9——VUE,Element&整合Javaweb的商品管理系统
Vue 指令、生命周期、this和$、vue脚手架进行模块化开发/ElementUI框架、综合案例,element商品列表展示增删改查
JavaWeb基础9——VUE,Element&整合Javaweb的商品管理系统
|
5月前
|
SQL Java 数据库连接
JavaWeb Mapper代理开发
JavaWeb Mapper代理开发