问题标签 [domcontentloaded]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angularjs - 如果在 DomContentLoaded 中初始化,为什么要在底部声明 AngularJs
https://docs.angularjs.org/guide/bootstrap
在本指南中,它说“在页面末尾放置脚本标签可以提高应用程序加载时间,因为加载 angular.js 不会阻止 HTML 加载”
但是在下一条语句“Angular 在 DOMContentLoaded 事件时自动初始化”中究竟意味着什么。谁能解释这个初始化意味着什么,然后 angular.js 如何阻止 HTML 加载?
javascript - 即使在“DOMContentLoaded”之后元素选择器返回 null?
我在 getElementById 返回一个空对象时遇到了一些困难。以下所有代码都放在了一个匿名函数中,该函数在“DOMContentLoaded”(事件监听器)时被调用。我这样做是为了避免当我尝试设置属性(特别是“数据文本”)时 getElementById 无法找到 twitter 按钮。第一个函数使用 getElementById 定位元素(页面上的“a”元素)没有问题,但第二个函数返回 null。我认为仅在“DOMContentLoaded”之后运行它可以解决这个问题?我在这里想念什么?(如果我没有在这里放足够多的代码来展示我正在尝试做的事情,请告诉我。)
这是标记:
只有第一个函数似乎能够访问和修改上述元素的属性,而第二个函数甚至找不到它(getDocumentById 返回 null)。
google-chrome - 为什么在 DOMContentLoaded 之前发生 First Paint
我正在深入研究 Google Chrome 附带的性能工具,因为我正试图了解性能改进技术。我正在使用 Timeline 选项卡,我发现在我的页面上First Paint事件发生在DOMContentLoaded事件之前。我读了几篇文章,据报道,浏览器开始向用户显示内容的第一个时刻必须是在DOMContentLoaded之后。有人可以解释一下这是真的吗?
javascript - 从 DOMcontentLoaded 范围内加载函数
jsfiddle
https://jsfiddle.net/ee7oe5pb/2/
Javascript
问题
运行menu.init
时它会启动菜单初始化功能。它触发events.refresh
功能并通过消息发出警报。那部分工作得很好。
在范围内events.refresh
也调用了DOMContentLoaded
。当页面完全加载时触发。现在events.refresh
是undefined function
。为什么?我怎样才能绕过它?
javascript - Application.js 脚本在“排队”状态下被阻塞,直到图像加载完毕
我们的网站有一个异步加载的 application.js:
<script async="async" src="//...application-123456.js"></script>
此外,我们有很多第三方脚本(1)是异步加载的,(2)依次创建一个异步<script>
标签来调用更大的脚本。
举个例子,这些第三方脚本之一是Google 的 gpt.js(您可以快速浏览一下以了解它的工作原理)。
我们的问题是,虽然所有第三方脚本都按预期异步加载,但 application.js 的堆栈处于“排队”状态超过 4 秒。
我尝试更改脚本并使其像第三方脚本一样加载:创建一个<script>
元素,设置“src”属性并加载它:
但没有任何改变。
然后我在我们网站的一个几乎没有图片的页面中研究了网络级联,我看到排队时间几乎为零。我在具有不同数量图像的页面中尝试了相同的实验,并且发现在具有更多图像的页面中排队时间成比例地增加。
我在Chrome 的网络级联文档中读到了这个:
排队时间:请求被渲染引擎推迟,因为它的优先级低于关键资源(例如脚本/样式)。这经常发生在图像上。
是否有可能由于某种原因浏览器将我们标记application.js
为“低优先级”?我在网上看了看,似乎没有人遇到过排队时间的问题。有人有想法吗?
非常感谢。
javascript - DOMContentLoaded 上的事件监听器随机触发
我在页面上有一个脚本,该脚本大部分时间都在工作,但并非总是如此,我想知道为什么。
该脚本通过以下方式导入:
脚本的内容是:
浏览器控制台总是输出loading
,但有时它不输出其余部分(outer
和inner
)。在页面上进行硬刷新或简单地重新加载它(点击Enter
地址栏)似乎不会影响这种行为(每种方式的结果相同)。
我还要补充一点outer
,并且inner
总是成对打印,从来没有一个没有另一个。
我听的方式有问题DOMContentLoaded
吗?还是我必须在外面加载脚本<head>
(如果可能的话,我不希望这样做)?