JS之浏览器对象BOM

2024-06-03 11:08
文章标签 对象 js 浏览器 bom

本文主要是介绍JS之浏览器对象BOM,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

JavaScript浏览器对象BOM

JS之浏览器对象BOM

DOM Window 代表窗体

DOM History 历史记录

DOM Location 浏览器导航

重点:window、history、location ,最重要的是window对象

1.window对象

Window 对象表示浏览器中打开的窗口,如果文档包含框架(frame 或 iframe 标签),浏览器会为 HTML 文档创建一个 window 对象,并为每个框架创建一个额外的 window 对象

window.frames 返回窗口中所有命名的框架

parent是父窗口(如果窗口是顶级窗口,那么parent==self==top)

top是最顶级父窗口(有的窗口中套了好几层frameset或者iframe)

self是当前窗口(等价window)

opener是用open方法打开当前窗口的那个窗口

①:父子窗体之间的通讯

在页面内嵌入一个iframe,在iframe中提供一个输入项,输入后,在iframe外面窗口中显示内容

JS之浏览器对象BOM

显示结果如上图所示,实现思路如下:

子窗体:2.html

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gbk">

<title>Untitled Document</title>

<script type="text/javascript">

function  showOutter(){

// 获得输入内容

var  content = document.getElementById("content").value;

// 将输入的内容显示到主窗体info 中

window.parent.document.getElementById("info").innerHTML = content;

}

</script>

</head>

<body>

<h1>子窗体</h1>

<input type="text" id="content" />

<input type="button" value="显示到主窗体" οnclick="showOutter();"/>

</body>

主窗体:1.html

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gbk">

<title>父子窗体通信</title>

<script type="text/javascript">

function  showContent(){

// 用主窗体读取子窗体内容

var  content = window.frames[0].document.getElementById("content").value;

alert(content);

}

</script>

</head>

<body>

<h1>主窗体</h1>

<div id="info"></div>

<!-- 在主窗体中获得子窗体内容 -->

<input type="button" value="获取子窗体输入内容" οnclick="showContent();" />

<iframe src="2.html"></iframe>

</body>

JS之浏览器对象BOM

②:window的open close

<head>

<title>打开关闭窗体</title>

<meta http-equiv="content-type" content="text/html; charset=gbk">

<script type="text/javascript">

//用一个变量记录打开的网页

var  openNew;

function  openWindow(){

openNew = window.open("http://www.itcast.cn");

}

//关闭的时候需要注意关闭的是打开的网页,而不是本身

function  closeWindow(){

openNew.close();

}

</script>

</head>

<body>

<input type="button" value="打开传智播客网页" οnclick="openWindow()">

<input type="button" value="关闭传智播客网页" οnclick="closeWindow()">

</body>

③:window弹出对话框相关的3个方法

alert()警告框 confirm()确认框 prompt()输入框

<script type="text/javascript">

alert("这是警告框!")

var  con = confirm("你想好了吗?");

alert(con);

var  msg = prompt("请输入姓名","张三");

alert(msg);

</script>

JS之浏览器对象BOM

④:定时操作setInterval & setTimeout

setInterval:定时任务会重复执行

setTimeout:定时任务只执行一次

在页面动态显示当前时间

<script type="text/javascript">

window.onload = function(){

var  date = newDate();

document.getElementById("time1").innerHTML =date.toLocaleString();

document.getElementById("time2").innerHTML =date.toLocaleString();

setInterval("show1();",1000); //间隔1秒后重复执行

setTimeout("show2();",1000); //1秒后执行,执行1次

}

function  show1(){

vardate = newDate();

document.getElementById("time1").innerHTML =date.toLocaleString();

}

function  show2(){

vardate = newDate();

document.getElementById("time2").innerHTML =date.toLocaleString();

setTimeout("show2();",1000);//不终止

}

</script>

<body>

<div id="time1"></div>

<div id="time2"></div>

</body>

2.history 对象

代表历史记录,常用来制作页面中返回按钮

<input type="button" value="返回" οnclick="history.back();" />

<input type="button" value="返回" οnclick="history.go(-1);" />

3.Location 对象

代表浏览器导航 在js函数中发起href链接效果

location.href='跳转后url' ; 等价于 <a href='xxx'></a>

这篇关于JS之浏览器对象BOM的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1026811

相关文章

JavaScript对象转数组的三种方法实现

《JavaScript对象转数组的三种方法实现》本文介绍了在JavaScript中将对象转换为数组的三种实用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友... 目录方法1:使用Object.keys()和Array.map()方法2:使用Object.entr

JS纯前端实现浏览器语音播报、朗读功能的完整代码

《JS纯前端实现浏览器语音播报、朗读功能的完整代码》在现代互联网的发展中,语音技术正逐渐成为改变用户体验的重要一环,下面:本文主要介绍JS纯前端实现浏览器语音播报、朗读功能的相关资料,文中通过代码... 目录一、朗读单条文本:① 语音自选参数,按钮控制语音:② 效果图:二、朗读多条文本:① 语音有默认值:②

在Node.js中使用.env文件管理环境变量的全过程

《在Node.js中使用.env文件管理环境变量的全过程》Node.js应用程序通常依赖于环境变量来管理敏感信息或配置设置,.env文件已经成为一种流行的本地管理这些变量的方法,本文将探讨.env文件... 目录引言为什么使php用 .env 文件 ?如何在 Node.js 中使用 .env 文件最佳实践引

使用MapStruct实现Java对象映射的示例代码

《使用MapStruct实现Java对象映射的示例代码》本文主要介绍了使用MapStruct实现Java对象映射的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、什么是 MapStruct?二、实战演练:三步集成 MapStruct第一步:添加 Mave

使用Node.js和PostgreSQL构建数据库应用

《使用Node.js和PostgreSQL构建数据库应用》PostgreSQL是一个功能强大的开源关系型数据库,而Node.js是构建高效网络应用的理想平台,结合这两个技术,我们可以创建出色的数据驱动... 目录初始化项目与安装依赖建立数据库连接执行CRUD操作查询数据插入数据更新数据删除数据完整示例与最佳

Java中实现对象的拷贝案例讲解

《Java中实现对象的拷贝案例讲解》Java对象拷贝分为浅拷贝(复制值及引用地址)和深拷贝(递归复制所有引用对象),常用方法包括Object.clone()、序列化及JSON转换,需处理循环引用问题,... 目录对象的拷贝简介浅拷贝和深拷贝浅拷贝深拷贝深拷贝和循环引用总结对象的拷贝简介对象的拷贝,把一个

Three.js构建一个 3D 商品展示空间完整实战项目

《Three.js构建一个3D商品展示空间完整实战项目》Three.js是一个强大的JavaScript库,专用于在Web浏览器中创建3D图形,:本文主要介绍Three.js构建一个3D商品展... 目录引言项目核心技术1. 项目架构与资源组织2. 多模型切换、交互热点绑定3. 移动端适配与帧率优化4. 可

使用Java读取本地文件并转换为MultipartFile对象的方法

《使用Java读取本地文件并转换为MultipartFile对象的方法》在许多JavaWeb应用中,我们经常会遇到将本地文件上传至服务器或其他系统的需求,在这种场景下,MultipartFile对象非... 目录1. 基本需求2. 自定义 MultipartFile 类3. 实现代码4. 代码解析5. 自定

javaSE类和对象进阶用法举例详解

《javaSE类和对象进阶用法举例详解》JavaSE的面向对象编程是软件开发中的基石,它通过类和对象的概念,实现了代码的模块化、可复用性和灵活性,:本文主要介绍javaSE类和对象进阶用法的相关资... 目录前言一、封装1.访问限定符2.包2.1包的概念2.2导入包2.3自定义包2.4常见的包二、stati

python运用requests模拟浏览器发送请求过程

《python运用requests模拟浏览器发送请求过程》模拟浏览器请求可选用requests处理静态内容,selenium应对动态页面,playwright支持高级自动化,设置代理和超时参数,根据需... 目录使用requests库模拟浏览器请求使用selenium自动化浏览器操作使用playwright