第九篇-Javascript BOM - 上

简介: 第九篇-Javascript BOM - 上

JavaScript BOM 概念

浏览器对象模型(Browser object model)简称 BOM。Js 通过 BOM 和浏览器进行交互,可以获取屏幕尺寸,窗口大小,页面地址,历史记录等浏览器相关信息,也可以控制浏览器执行某些行为:弹出信息,页面跳转,打开窗口,关闭窗口,调整窗口大小等。

浏览器对象模型用 window 对象来表示,所有 JavaScript 全局变量、全局函数会自动成为

window 对象的成员。DOM 的 document 也是 window 对象的一个属性。

JavaScript 窗口

在JavaScript中,可以使用window对象来操作浏览器窗口。window对象是一个全局对象,表示当前浏览器窗口。通过window对象,可以执行诸如打开新窗口、关闭窗口、调整窗口大小、获取窗口的位置和大小等操作。

1、打开一个新窗口:

window.open("https://www.example.com");

2、关闭当前窗口:

window.close();

3、调整窗口大小:

window.resizeTo(500, 300);

4、获取窗口的位置:

var x = window.screenX;
var y = window.screenY;

5、获取窗口的大小:

var width = window.innerWidth;
var height = window.innerHeight;

JavaScript 尺寸

在JavaScript中,可以通过以下几种方式获取元素的尺寸:

1、offsetWidthoffsetHeight属性:返回元素的宽度和高度,包括边框和滚动条(如果有)。

var element = document.getElementById("myElement");
var width = element.offsetWidth;
var height = element.offsetHeight;

2、clientWidthclientHeight属性:返回元素的宽度和高度,不包括边框和滚动条。但是如果有滚动条,会包括滚动条的大小。

var element = document.getElementById("myElement");
var width = element.clientWidth;
var height = element.clientHeight;

3、getBoundingClientRect()方法:返回一个包含元素位置和尺寸信息的DOMRect对象。可以使用其属性来获取元素的左边距、上边距、宽度和高度。

var element = document.getElementById("myElement");
var rect = element.getBoundingClientRect();
var width = rect.width;
var height = rect.height; 

需要注意的是,以上方法获取的尺寸都是以像素为单位的整数值。

JavaScript 地址信息与页面跳转

1、

console.log(window.location.pathname);  //返回当前页面的路径和文件名

console.log(window.location.port);   //返回 web 主机的端口

console.log(window.location.protocol);   //返回所使用的 web 协议(http: 或 https:)

console.log(window.location.href);  //返回当前页面的 URL 地址 

2、

window.location.replace(‘URL’);  //通过 location.replace 替换当前页面路径来实现页面跳转

window.location.assign(‘URL’);  //通过 location.assign 加载新文档实现页面跳转

window.location.href = ‘URL’;  //通过改变 location.href 来实现页面跳转 常用 

3、跳转传参

在JavaScript中,可以使用location.href来实现页面跳转,同时可以通过在URL中传递参数来进行数据传递。以下是一个示例:

// 跳转到目标页面,并传递参数
let parameter = "Hello World";
let url = "target.html?param=" + encodeURIComponent(parameter);
location.href = url;

在目标页面(target.html)中,可以通过解析URL参数来获取传递的参数值。示例代码如下:

// 获取URL参数
function getParameterByName(name) {
    name = name.replace(/[
]/g, "\\$&");
    var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
        results = regex.exec(window.location.hash);
    if (!results) results = regex.exec(window.location.search);
    if (!results) return null;
    if (!results[2]) return '';
    return decodeURIComponent(results[2].replace(/\+/g, " "));
}

// 获取传递的参数值
let paramValue = getParameterByName("param");
console.log(paramValue); // 输出: "Hello World" 

在上述示例中,encodeURIComponent函数用于对参数进行编码,以防止URL中的特殊字符引起错误。getParameterByName函数用于解析URL参数,并返回指定参数名的值。

请注意,这只是一种简单的传参方法,适用于在不需要隐藏传递参数的情况下。如果需要对传递的数据进行加密或隐藏,请考虑使用其他方法,如使用服务器端技术进行数据传递。


相关文章
|
1月前
|
JavaScript 前端开发
javascript操作BOM的方法
javascript操作BOM的方法
30 0
|
16天前
|
JavaScript 前端开发 API
JavaScript基础-BOM与窗口交互
【6月更文挑战第12天】本文介绍了BOM(浏览器对象模型),它是JavaScript与浏览器交互的API。核心对象包括顶级对象window、document、location、navigator和history。常见问题涉及window全局作用域、location.href编码、history使用和navigator.userAgent检测。提供了代码示例,如设置页面标题、页面跳转及利用history实现无刷新跳转。掌握BOM基础和最佳实践对前端开发至关重要。
|
2天前
|
Web App开发 移动开发 JavaScript
探索 JavaScript 宇宙:DOM与BOM的星际邂逅
探索 JavaScript 宇宙:DOM与BOM的星际邂逅
|
6天前
|
存储 JavaScript 前端开发
第十篇-JavaScript BOM-下
第十篇-JavaScript BOM-下
5 0
|
1月前
|
XML JavaScript 前端开发
JavaScript简介&引入方式(JavaScript基础语法、JavaScript对象、BOM、DOM、事件监听)
JavaScript简介&引入方式(JavaScript基础语法、JavaScript对象、BOM、DOM、事件监听)
19 2
|
13天前
|
JavaScript 前端开发
JavaScript BOM 浏览器对象模型
JavaScript BOM 浏览器对象模型
|
1月前
|
缓存 JavaScript 前端开发
javaScript(五):BOM操作
JavaScript 中的 BOM(Browser Object Model)是一组用于操作浏览器窗口的对象和方法集合。BOM 使我们可以通过 JavaScript 访问浏览器窗口的各个组成部分,包括地址栏、菜单栏、历史记录、浏览器的尺寸位置等
58 0
 javaScript(五):BOM操作
|
1月前
|
缓存 编解码 自然语言处理
前端javascript的BOM对象知识精讲
前端javascript的BOM对象知识精讲
|
1月前
|
JavaScript 前端开发
深入了解 JavaScript 中的 DOM 和 BOM
深入了解 JavaScript 中的 DOM 和 BOM
56 4
|
1月前
|
JavaScript 前端开发
JavaScript BOM 浏览器对象模型
JavaScript BOM 浏览器对象模型