Window

表示一个包含DOM文档的窗口,其 document 属性指向窗口中载入的 DOM文档。使用 document.defaultView 属性可以获取指定文档所在窗口。window作为全局变量,代表了脚本正在运行的窗口,暴露给 Javascript 代码。

PS:在有标签页功能的浏览器中,每个标签都拥有自己的 window 对象;也就是说,同一个窗口的标签页之间不会共享一个 window 对象。window.resizeTowindow.resizeBy 等方法除外。

  • 对象常用属性

    window.innerHeight :获得浏览器窗口的内容区域(视口viewport)的高度,包含水平滚动条(如果有的话)
    window.innerWidth :获得浏览器窗口的内容区域(视口viewport)的宽度,包含垂直滚动条(如果有的话)
    window.location :获取/设置 window 对象的 location, 或者当前的 URL
    window.name :获取/设置窗口的名称
    window.pageXOffset :返回文档/页面水平方向已滚动的像素值,window.scrollX的别名
    window.pageYOffset :返回文档/页面在垂直方向已滚动的像素值,window.scrollY的别名

  • 对象常用方法

    window.alert() :提示信息会话框
    window.confirm() :确认会话框
    window.prompt() :要求键盘输入会话框
    window.open() :打开新的窗口
    window.close() :关闭当前窗口
    window.requestAnimationFrame() :告知浏览器有一个动画正在进行,请求为下一帧动画重绘窗口
    window.scroll() :滚动窗口至文档中的特定位置,与window.scrollTo()

Document

表示任何在浏览器中载入的网页,并作为网页内容的入口,也就是DOM 树。DOM 树包含了像 <body><table> 这样的元素,以及大量其他元素。Document向网页文档本身提供了全局操作功能(例如获取页面的 URL 、在文档中创建一个新的元素)。

PS:Document 接口描述了任何类型的文档(HTML、XML、SVG等)的通用属性与方法

  • 对象常用属性

    document.body :返回当前文档的 <body><frameset> 节点
    document.head :返回当前文档的 <head> 元素
    document.scripts :返回文档中所有的 <script> 元素
    document.readyState :返回当前文档的加载状态(loading / 正在加载、interactive / 可交互、complete / 完成),当该属性值发生变化时,会在document 对象上触发readystatechange事件
    document.title :获取或设置当前文档的标题
    document.bgColor :获取或设置当前文档的背景色
    document.URL :以字符串形式返回文档的地址栏链接(只读),等同于document.location.href(可写)
    document.location :返回当前文档的 Location 对象,包含有文档的 URL 相关的信息(href、protocol、host、port等)

    PS:document.location = 'http://www.example.com'等同于document.location.href = 'http://www.example.com'

  • 对象常用方法

    document.createAttribute() :创建并返回一个新的属性节点
    document.createElement() :创建由tagName指定的HTML元素,或一个HTMLUnknownElement,如果tagName不被识别
    document.getElementsByClassName() :返回一个包含了所有指定类名的子元素的类数组对象
    document.getElementsByTagName() :返回一个包括所有给定标签名称的元素的HTML集合HTMLCollection
    document.getElementById() :返回一个匹配特定 ID的元素
    document.getElementsByName() :根据给定的属性name值返回一个在 (X)HTML document的节点列表集合
    document.querySelector() :返回文档中与指定选择器或选择器组匹配的第一个 html元素Element,如果找不到匹配项,则返回null
    document.close() :用于结束对文档的 document.write() 写入操作,这种写入操作一般由 document.open() 打开

参考资料

1、Window:https://developer.mozilla.org/zh-CN/docs/Web/API/Window
2、Document:https://developer.mozilla.org/zh-CN/docs/Web/API/Document

Window与Document的更多相关文章

  1. window、document、html、body、element的事件属性比较

    在分析jQuery的事件的时候有提到绑定事件的方式: Dean Edwards的跨浏览器事件绑定使用的方式是 element["on" + type] = handleEvent; ...

  2. 拉动滚动条追加内容,无限延伸document高度 $(window).scroll(function(){if($(window).scrollTop() + $(window).height() == $(document).height()) { $("body").append(html) } })

    $(document).ready(function() { // endless scrolling $(window).scroll(function() { if($(window).scrol ...

  3. 客户端JavaScript(window、document、element)

    一.window对象是所有客户端JavaScript特性和API的主要接入点,用window来引用它. 属性:location属性(引用Location对象,当前显示在窗口的URL).document ...

  4. window.parent.document jquery

    使用 jQuery ,写法如下: .$("#myEle", window.parent.document).html(html); 另外还有一种实现方式,代码如下: .parent ...

  5. nuxt Window 或 Document未定义解决方案

    概述 在用nuxt开发服务端渲染项目并引入第三方库的时候,经常会遇到window或document未定义的情况,原因是这个第三方库里面用到了window或者document,然后在服务端打包的时候,n ...

  6. 解决 jQuery 实现父窗口的问题 如window.parent.document.getElementById().innerHTML

    因为先前遇到的问题,所以我考虑采用 IFRAME 来隔离不同的脚本,从而实现我需要的效果. 在框架中,我用 JavaScript 获取 JSON 数据,组织成 HTML 代码,最后将其填充至上层文档的 ...

  7. window.jQuery || document...

    window是浏览器端的全部数据变量的引用.比如 window.window === window window.jQuery 就是浏览器中的全局变量里的jQuery那为什么不写 jQuery 而是写 ...

  8. window.parent.document解决原生js或jQuery 实现父窗口的问题

    做WEB前端开发的过程中,经常会有这样的需求,用户点击[编辑]按钮,弹出一个对话框,在里边修改相应的值,然后把修改后的值显示在原页面,最后点击保存. 用window.parent.document.g ...

  9. window.jQuery || document.write("<script src='__PUBLIC__/assets/js/jquery.js'>"+"<"+"/script>")

    今天无意中看到这样一段代码 <script type="text/javascript"> window.jQuery || document.write(" ...

  10. javascript中window与document对象、setInterval与setTimeout定时器的用法与区别

    一.写在前面 本人前端菜鸟一枚,学习前端不久,学习过程中有很多概念.定义在使用时容易混淆,在此给向我一样刚踏入前端之门的童鞋们归纳一下.今天给大家分享一下js中window与document对象.se ...

随机推荐

  1. flink 实现三角枚举EnumTriangles算法详解

    1.三角枚举,从所有无向边对中找到相互连接的三角形 /** * @Author: xu.dm * @Date: 2019/7/4 21:31 * @Description: 三角枚举算法 * 三角枚举 ...

  2. Facebook发布全新JavaScript引擎:Hermes

    摘要: JS引擎开始升级了... 原文:技术栈中的爱马仕?Facebook发布全新JavaScript引擎:Hermes 作者:Carson_Ho Fundebug经授权转载,版权归原作者所有. 前言 ...

  3. day 35

    目录 单表操作 分组 group by having order by limit 使用顺序 多表操作 外键 一对多 多对多 一对一 多表联查 单表操作 分组 group by 分组指的是:将所有记录 ...

  4. JavaWeb项目 IDEA+Tomcat+Nginx 部署流程

    转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/11375100.html 一:IDEA Maven项目打包 1.修改打包方式 在maven项目的pom文件中, ...

  5. 当请求进入Nginx后,每个HTTP执行阶段的作用

    阶段顺序 阶段名称 作用 1 NGX_HTTP_POSTREAD_PHASE = 0 接收并读取请求阶段 2 NGX_HTTP_SERVER_REWRITE_PHASE 修改url阶段,通常有重定向和 ...

  6. 可迭代对象,迭代器对象,for循环

    迭代器:迭代的工具.迭代是更新换代,如你爷爷生了你爹,你爹生了你,迭代也可以说成是重复,并且但每一次的重复都是基于上一次的结果来的.如计算机中的迭代开发,就是基于软件的上一个版本更新.以下代码就不是迭 ...

  7. python SSL 错误

    python 使用pip 安装模块是提示SSL错误 出现该问题的原因由于系统的openssl是1.0.1的版本,对于python3.7太老了,需要更新为openssl1.0.2或者libressl2. ...

  8. WARN Connection to node 2 could not be established. Broker may not be available. (

    启动 kafka 集群, 出现这个问题 WARN Connection to node 2 could not be established. Broker may not be available. ...

  9. 第五周周二练习:实验 5 Spark SQL 编程初级实践

    1.题目: 源码: import java.util.Properties import org.apache.spark.sql.types._ import org.apache.spark.sq ...

  10. .NET三种异步模式(APM、EAP、TAP)

    APM模式: .net 1.0时期就提出的一种异步模式,并且基于IAsyncResult接口实现BeginXXX和EndXXX类似的方法. .net中有很多类实现了该模式(比如HttpWebReque ...