web前端学习(四十三)——JavaScript BOM简介、BOM-Window对象实例

简介: web前端学习(四十三)——JavaScript BOM简介、BOM-Window对象实例

1.JS BOM简介(浏览器对象模型)


浏览器对象模型(Browser Object Model (BOM))尚无正式标准。

由于现代浏览器已经(几乎)实现了 JavaScript 交互性方面的相同方法和属性,因此常被认为是 BOM 的方法和属性。

Window对象表示浏览器中打开的窗口。

所有浏览器都支持 window 对象。它表示浏览器窗口。所有 JavaScript 全局对象、函数以及变量均自动成为 window 对象的成员。

全局变量 window 对象的属性。全局函数是 window 对象的方法。

甚至 HTML DOM document 也是 window 对象的属性之一:

window.document.getElementById("header");

与此相同:

document.getElementById("header");

1.1 实例:显示浏览器的宽度和高度

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <title>JS简单学习</title>
  </head>
  <body>
    <p id="demo"></p>
    <script type="text/javascript">
      var w=window.innerWidth
      || document.documentElement.clientWidth
      || document.body.clientWidth;
      var h=window.innerHeight
      || document.documentElement.clientHeight
      || document.body.clientHeight;
      x=document.getElementById("demo");
      x.innerHTML="浏览器window宽度: " + w + ", 高度: " + h + "。";
    </script>
  </body>
</html>


2.Window对象实例


2.1 Window对象属性

2.2 Window对象方法

2.3 实例一:显示带有一段消息以及确认按钮和取消按钮的对话框

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>JS简单学习</title>
  </head>
  <body>
    <p>点击按钮,显示确认框。</p>
    <button type="button" onclick="myFunction()">点我</button>
    <p id="demo"></p>
    <script type="text/javascript">
      function myFunction() {
        var x;
        var r=confirm("按下按钮!");
        if(r==true) {
          x="你按下了\"确定\"按钮!";
        }else {
          x="你按下了\"取消\"按钮!";
        }
        document.getElementById("demo").innerHTML=x;
      }
    </script>
  </body>
</html>

2.4 实例二:显示可提示用户输入的对话框

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>JS简单学习</title>
  </head>
  <body>
    <p>点击按钮查看输入的对话框。</p>
    <button type="button" onclick="myFunction()">点我</button>
    <p id="demo"></p>
    <script>
      function myFunction() {
        var x;
        var person=prompt("请输入你的名字","JS BOM");
        if(person!=null && person!="") {
          x="你好 " + person + "! 今天感觉如何?";
          document.getElementById("demo").innerHTML=x;
        }
      }
    </script>
  </body>
</html>

2.5 实例三:打开一个新的浏览器窗口或查找一个已命名的窗口

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>JS简单学习</title>
  </head>
  <body>
    <form>
      <input type="button" value="打开新窗口" onclick="openWindow()"/>
    </form>
    <script type="text/javascript">
      function openWindow() {
        window.open("https://www.baidu.com");
        //可以打开多个窗口
        //window.open("https://www.tencent.com");
        //可以控制打开窗口的外观
        //window.open("https://www.baidu.com","_blank","toolbar=yes,location=yes,directories=no,status=no,menubar=yes,scrollbars=yes,resizable=no,copyhistory=yes,width=400,height=400");
      }
    </script>
  </body>
</html>

2.6 实例四:把键盘焦点给予一个窗口

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>JS简单学习</title>
  </head>
  <body>
    <input type="button" value="打开新窗口" onclick="openWindow()" />
    <input type="button" value="关闭新窗口" onclick="closeWindow()" />
    <script type="text/javascript">
      function openWindow() {
        myWindow=window.open("","","width=200,height=100");
        myWindow.document.write("<p>这是我的窗口。</p>");
        myWindow.focus();
      }
      function closeWindow() {
        myWindow.close();
      }
    </script>
  </body>
</html>

2.7 实例五:检查新窗口是否关闭

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>JS简单学习</title>
  </head>
  <body>
    <input type="button" value="打开新窗口" onclick="openWindow()" />
    <input type="button" value="关闭新窗口" onclick="closeWindow()" />
    <br /><br />
    <input type="button" value="该窗口被关闭了吗?" onclick="checkWindow()" />
    <br />
    <div id="demo"></div>
    <script type="text/javascript">
      var myWindow;
      function openWindow() {
        myWindow=window.open("","","width=400,height=200");
      }
      function closeWindow() {
        if(myWindow) {
          myWindow.close();
        }
      }
      function checkWindow() {
        if(!myWindow) {
          document.getElementById("demo").innerHTML="我的窗口没有被打开!";
        }else {
          if(myWindow.closed) {
            document.getElementById("demo").innerHTML="我的窗口被关闭!";
          }else {
            document.getElementById("demo").innerHTML="我的窗口没有被关闭!";
          }
        }
      }
    </script>
  </body>
</html>

2.8 实例六:用setTimeout() clearTimeout() 设置和停止定时器

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>JS简单学习</title>
    <script type="text/javascript">
      var c=0;
      var t;
      var time_is_on=false;
      function timesCount() {
        document.getElementById("txt").value=c;
        c=c+1;
        t=setTimeout(function() {timesCount()},1000);
      }
      function startTime() {
        if(!time_is_on) {
          time_is_on=true;
          timesCount();
        }
      }
      function stopTime() {
        clearTimeout(t);
        time_is_on=false;
      }
    </script>
  </head>
  <body>
    <form>
      <input type="button" value="开始计数!" onclick="startTime()"/>
      <input type="text" id="txt" />
      <input type="button" value="停止计数!" onclick="stopTime()"/>
    </form>
    <p>
      单击开始计数按钮,按下时开始计数,输入框将从0开始一直计数。单击停止计数按钮,按下时停止计数,再次点击开始计数按钮,又再次开始计数。
    </p>
  </body>
</html>

写在结尾:由于JS BOMWindow对象的实例有很多,在这里只是举几个简单的例子,大家可以自行使用Window对象中的方法、属性来应用学习。

相关文章
|
5月前
|
前端开发 JavaScript
个人征信电子版无痕修改, 个人信用报告pdf修改,js+html+css即可实现【仅供学习用途】
本代码展示了一个信用知识学习系统的前端实现,包含评分计算、因素分析和建议生成功能。所有数据均为模拟生成
|
7月前
|
JavaScript 前端开发 API
|
5月前
|
前端开发
个人征信PDF无痕修改软件,个人征信模板可编辑,个人征信报告p图神器【js+html+css仅供学习用途】
这是一款信用知识学习系统,旨在帮助用户了解征信基本概念、信用评分计算原理及信用行为影响。系统通过模拟数据生成信用报告,涵盖还款记录
|
6月前
|
JavaScript 数据可视化 前端开发
three.js简单实现一个3D三角函数学习理解
1.Three.js简介 Three.js是一个基于JavaScript编写的开源3D图形库,利用WebGL技术在网页上渲染3D图形。它提供了许多高级功能,如几何体、纹理、光照、阴影等,以便开发者能够快速地创建复杂且逼真的3D场景。同时,Three.js还具有很好的跨平台和跨浏览器兼容性,让用户无需安装任何插件就可以在现代浏览器上观看3D内容。
230 0
|
8月前
|
资源调度 JavaScript 前端开发
前端开发必备!Node.js 18.x LTS保姆级安装教程(附国内镜像源配置)
本文详细介绍了Node.js的安装与配置流程,涵盖环境准备、版本选择(推荐LTS版v18.x)、安装步骤(路径设置、组件选择)、环境验证(命令测试、镜像加速)及常见问题解决方法。同时推荐开发工具链,如VS Code、Yarn等,并提供常用全局包安装指南,帮助开发者快速搭建高效稳定的JavaScript开发环境。内容基于官方正版软件,确保合规性与安全性。
7442 23
|
8月前
|
云安全 数据采集 安全
阿里云热门云安全产品简介:Web应用防火墙与云防火墙产品各自作用介绍
在阿里云的安全类云产品中,Web应用防火墙与云防火墙是用户比较关注的两款安全产品,二者在作用上各有侧重,共同构成了阿里云强大的安全防护体系。本文将对Web应用防火墙与云防火墙产品各自的主要作用进行详细介绍。
|
9月前
|
前端开发
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
274 1
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
|
JavaScript 前端开发 Java
springboot解决js前端跨域问题,javascript跨域问题解决
本文介绍了如何在Spring Boot项目中编写Filter过滤器以处理跨域问题,并通过一个示例展示了使用JavaScript进行跨域请求的方法。首先,在Spring Boot应用中添加一个实现了`Filter`接口的类,设置响应头允许所有来源的跨域请求。接着,通过一个简单的HTML页面和jQuery发送AJAX请求到指定URL,验证跨域请求是否成功。文中还提供了请求成功的响应数据样例及请求效果截图。
195 3
springboot解决js前端跨域问题,javascript跨域问题解决
|
JavaScript 前端开发 Go
JavaScript系列--BOM(二)
JavaScript系列--BOM(二)
204 0

热门文章

最新文章

下一篇
oss云网关配置