JavaScript Window-浏览器对象模型

本文介绍了浏览器对象模型(BOM)的基础知识,包括如何使用JavaScript操作浏览器窗口、获取窗口尺寸及位置、读取和设置浏览器位置等。还探讨了不同浏览器间的兼容性问题,并提供了一些实用的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

浏览器对象模型 (BOM) 使 JavaScript 有能力与浏览器“对话”。

如果用代码来操作浏览器弹框,改变框的大小呢?

  • window.open() - 打开新窗口
  • window.close() - 关闭当前窗口
  • window.moveTo() - 移动当前窗口
  • window.resizeTo() - 调整当前窗口的尺寸

在想搞定操作浏览器的时候,现在了解下浏览器BOM对象模型 (Browser Object Model)。现在的浏览器已经实现了JavaScript交互性方面的相同方法和属性,因此常呗认为BOM的方法和属性。


window 对象

所有浏览器都支持window对象。它表示浏览器窗口。

所有的javaScript全局对象,函数以及变量均自动成为window对象成员。

全局函数是window对象的属性。

全局函数是window对象的方法。

甚至HTML DOM的document也是window对象之一。

window.document.getElementById("header");

改变window的尺寸  

有三种方法能够确定浏览器窗口的尺寸(浏览器的视口,不包括工具栏和滚动条)。

对于Internet Explorer、Chrome、Firefox、Opera 以及 Safari:

  • window.innerHeight - 浏览器窗口的内部高度
  • window.innerWidth - 浏览器窗口的内部宽度或者
或者Internet Explorer 8、7、6、5:
  • document.documentElement.clientHeight
  • document.documentElement.clientWidth

实用的 JavaScript 方案(涵盖所有浏览器):
<script>
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="浏览器的内部窗口宽度:" + w + ",高度:" + h + "。"
</script>

windowScreen 
window.screen 对象在编写时可以不是用window这个前缀。
一些属性:
  • screen.availWidth - 可用的屏幕宽度
  • screen.availHeight - 可用的屏幕高度

Window Screen 可用宽度

screen.availWidth 属性返回访问者屏幕的宽度,以像素计,减去界面特性,比如窗口任务栏。

window.location 


window.location 对象用于获得当前页面的地址 (URL),并把浏览器重定向到新的页面。

window.location 对象在编写时可不使用window这个前缀。
一些例子:
  • location.hostname 返回 web 主机的域名
  • location.pathname 返回当前页面的路径和文件名
  • location.port 返回 web 主机的端口 (80 或 443)
  • location.protocol 返回所使用的 web 协议(http:// 或 https://)

window Location Href

location.href 属性返回当前页面的URL .

返回(当前页面的)整个URL
<script>

document.write(location.href);

</script>

Window Location Pathname

location.pathname 属性返回 URL 的路径名。

<script>

document.write(location.pathname);

</script>

以上代码输出为:

/js/js_window_location.asp

Window Location Assign

location.assign() 方法加载新的文档。

实例

加载一个新的文档:

<html>
<head>
<script>
function newDoc()
  {
  window.location.assign("http://www.w3school.com.cn")
  }
</script>
</head>
<body>

<input type="button" value="加载新文档" οnclick="newDoc()">

</body>
</html>

JavaScript Window History

window.history 对象在编写时可不使用window这个前缀。

为了保护用户隐私,对JavaScript访问该对象的方法做出了限制。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值