美文网首页让前端飞JavaScriptWeb 前端开发
JavaScript Window - 浏览器对象模型

JavaScript Window - 浏览器对象模型

作者: 紫霞等了至尊宝五百年 | 来源:发表于2018-07-12 08:08 被阅读37次

    浏览器对象模型 (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>
    

    相关文章

      网友评论

        本文标题:JavaScript Window - 浏览器对象模型

        本文链接:https://www.haomeiwen.com/subject/dyhlpftx.html