专栏首页JavaEdgeJavaScript Window - 浏览器对象模型浏览器对象模型 (BOM) 使 JavaScript 有能力与浏览器“对话”。浏览器对象模型 (Browser Object Model)1 Wi

JavaScript Window - 浏览器对象模型浏览器对象模型 (BOM) 使 JavaScript 有能力与浏览器“对话”。浏览器对象模型 (Browser Object Model)1 Wi

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

浏览器对象模型 (Browser Object Model)

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

1 Window 对象

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

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

全局变量是 window 对象的属性。

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

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

window.document.getElementById("header");

与此相同:

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 或者
  • document.body.clientHeight
  • document.body.clientWidth

实用的 JavaScript 方案(涵盖所有浏览器):

var w=window.innerWidth
|| document.documentElement.clientWidth
|| document.body.clientWidth;

var h=window.innerHeight
|| document.documentElement.clientHeight
|| document.body.clientHeight;

其他 Window 方法

一些其他方法:

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

2 JavaScript Window Location

获得当前页面的地址 (URL),并把浏览器重定向到新的页面

2.1 Window Location

window.location对象在编写时可不使用 window 这个前缀。 一些例子:

location.hostname 返回 web 主机的域名
location.pathname 返回当前页面的路径和文件名
location.port 返回 web 主机的端口 (80 或 443)
location.protocol 返回所使用的 web 协议(http:// 或 https://)

2.2 Window Location Href

属性返回当前页面的 URL。

实例

返回(当前页面的)整个 URL:

<script>
document.write(location.href);
</script>

以上代码输出为:

http://www.w3school.com.cn/js/js_window_location.asp

2.3 Window Location Pathname

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

实例

返回当前 URL 的路径名:

<script>
document.write(location.pathname);
</script>

以上代码输出为:

/js/js_window_location.asp

2.4 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="加载新文档" onclick="newDoc()">

</body>
</html>

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 吊打Java面试官-Java内存模型深入详解(JMM)

    为了提高程序运行的性能,现代CPU在很多方面对程序进行了优化。: 例如: CPU高速缓存。 尽可能地避免处理器访问主内存的时间开销,处理器大多会利用缓 存...

    公众号-JavaEdge
  • Java服务器宕机解决方法论

    JVM 发生内部崩溃,那么必然会生成"hs_err_pid"开头的文件,下面讲一种常见情况:

    公众号-JavaEdge
  • Java系统宕机解决方法论

    JVM 发生内部崩溃,那么必然会生成"hs_err_pid"开头的文件,下面讲一种常见情况:

    公众号-JavaEdge
  • js---BOM 的理解方法

    window.alert("message"); //弹出一个具有OK按钮的系统消息框,显示指定的文本

    小蔚
  • JavaScript Window - 浏览器对象模型

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

    李海彬
  • JavaScript 学习(2)

    参考: http://www.w3cschool.cc/js/js-window.html

    lpe234
  • 前端学习笔记之BOM和DOM

    到目前为止,我们已经学过了JavaScript的一些简单的语法。但是这些简单的语法,并没有和浏览器有任何交互。

    Jetpropelledsnake21
  • js2

    到目前为止,我们已经学过了JavaScript的一些简单的语法。但是这些简单的语法,并没有和浏览器有任何交互。

    suwanbin
  • 【Android】在任意位置弹出PopupWindow

    Gavin-ZYX
  • Java 开发中到底该不该用 Lombok?

    爱它的人爱的要死,觉得它简直就是先进生产力的代表;讨厌它的人讨厌的要死,觉得它简直就是邪恶世界的轴心。今天松哥也小心翼翼的来和大家聊一聊这个话题:Java 开发...

    江南一点雨

扫码关注云+社区

领取腾讯云代金券