Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 什么是DOM就绪事件?_Javascript_Domready - Fatal编程技术网

Javascript 什么是DOM就绪事件?

Javascript 什么是DOM就绪事件?,javascript,domready,Javascript,Domready,我需要在收到页面内容(整个HTML元素)后立即启动一个脚本,但它还不需要呈现 我认为只要在我的页面顶部有一个简单的标记来执行一些代码就可以了 用不同的方式表述这个问题:DOM ready是否意味着所有元素和资源都已被提取并呈现?DOM ready意味着所有HTML都已被浏览器接收并解析到DOM树中,现在可以对其进行操作 它发生在页面完全呈现之前(因为外部资源可能尚未完全下载-包括图像、CSS、JavaScript和任何其他链接资源) 实际事件称为DOMContentLoadedDOMready意

我需要在收到页面内容(整个HTML元素)后立即启动一个脚本,但它还不需要呈现

我认为只要在我的页面顶部有一个简单的
标记来执行一些代码就可以了


用不同的方式表述这个问题:DOM ready是否意味着所有元素和资源都已被提取并呈现?

DOM ready意味着所有HTML都已被浏览器接收并解析到DOM树中,现在可以对其进行操作

它发生在页面完全呈现之前(因为外部资源可能尚未完全下载-包括图像、CSS、JavaScript和任何其他链接资源)


实际事件称为
DOMContentLoaded

DOMready意味着:DOM结构已构建在浏览器内存中。页面已开始异步呈现,但可能尚未完成,因为图像、视频等外部资源稍后将完成加载。

您也可以尝试使用这些函数

window.onload = function(){
   //your code
  }

如果您不想使用jQuery

不过要小心,DOM加载并不意味着页面加载,iFrame、javascript、图像和css可能会在该事件之后加载

文档对象模型(DOM)是一种跨平台和独立于语言的约定,用于表示HTML、XHTML和XML文档中的对象并与之交互。[1]每个文档的节点都组织在一个树结构中,称为DOM树

我需要在收到页面内容(整个HTML元素)后立即启动一个脚本,但它还不需要呈现

我想,只要在我的页面顶部有一个简单的标签来执行一些代码就可以了

那你很可能想要。你可以这样使用它:


addEventListener('DOMContentLoaded',函数(){
//你的代码在这里
});
以不同的方式表述这个问题:DOM就绪是否意味着所有元素和资源都已被提取和呈现

没有“DOM就绪”事件。你可能在想,或者类似的奇怪用法(例如,谷歌也有一个类似的专有事件)

但是,对于
domacontentLoaded
事件(要报价):

DOMContentLoaded事件在初始HTML文档完全加载和解析后激发,而不等待样式表、图像和子帧完成加载


@Oded谢谢,所以如果我想在HTML被解析到DOM树之前对其进行操作,页面顶部的纯脚本标记会起作用,是吗?@silkAdmin-在HTML被解析到DOM树之前,您不能对其进行操作。JavaScript与DOM树一起工作,因此在完全解析DOM树之前尝试使用它是很棘手的——可能是不可能的(您很可能会出错)。你到底想做什么?@Oded,我只想将响应主体作为字符串发送到服务器。有什么好办法吗?@silkAdmin-什么最好?你想优化什么?@Oded,我希望它尽可能快和轻,我想等待DOM准备好不使用DOM是没有必要的,因为我不需要解析页面。你的链接丢失了。“加载”(或DOMContentLoaded或任何你感兴趣的实际事件)的事件侦听器实际上,使用这种方法会更好,因此您不必担心是否已经为事件分配了某些内容<代码>窗口.addEventListener('load',函数(){/*…*/})
body.onload = function(){
   //your code
  }