问题标签 [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.

0 投票
1 回答
2073 浏览

javascript - “文档准备就绪”应该在 IE 上像这样工作吗?

出于各种原因,包括学习,我正在制作一个小型 javascript 框架。

因此,我想实现“文档就绪”功能,所以我去检查 jQuery 如何DOMContentLoaded在 IE < 9 上伪造。

问题是,它似乎没有按应有的方式工作。在 IE8 和一个好的浏览器中检查这个小提琴。

逻辑是:应用 css 使 div 开始为红色,然后在“准备好”时使其变为蓝色,在加载时使其变为绿色。此外,还有三个带有虚假 URL 的 img 标签,因此在准备和加载之间存在综合滞后。

应该发生什么:
如果有的话,div 不应显示为红色超过一瞬间。理想情况下,首先看到的应该是蓝色。然后,当浏览器在无效图像上超时时,绿色。

在 IE8 上会发生什么:
div 保持红色,直到所有图像“加载”(在此合成示例中为超时),然后变为绿色。

再一次,我并不是在要求修复,我是在问一个框架在 IE8 上的行为是否正确(我不再关心 IE 6-7),或者这是否正在发生由于我以某种方式滥用 jQuery。

PS:我知道如何手动绑定事件,我正在询问更多关于这是否是预期/可接受/错误/我的错误。

0 投票
1 回答
691 浏览

firefox - 在“chrome-document-global-created”之后访问 dom

"chrome-document-global-created"当 Mozilla 观察者事件被触发时,我需要获取 DOM 。因此,我有以下代码。但是我怎样才能从那里得到 DOM?数据是null(根据文档),有人可以告诉我我必须使用哪个对象吗?

非常感谢!

0 投票
1 回答
125 浏览

javascript - 具有多个 DOMContentLoaded 事件组织的不显眼的纯 Javascript

也许这是一个愚蠢的问题,但我对 JavaScript 很困惑。我使用尽可能不显眼的 JavaScript 来遵循这个代码组织。我在 Ruby on Rails 中建立了一个使用 Google Maps 的网站。

我的场景:假设我有一个非常庞大的网站,在其中的不同页面中,我需要启动 JavaScript 脚本来执行一些操作。

一个问题是,无论用户访问哪个页面,我都必须将我网站的所有 JavaScript 代码添加到用户的浏览器中。例如,假设我有使用大量 JavaScript 代码的页面 A 和使用一些微小 JavaScript 代码的页面 B。据我了解,在页面 B 中,用户必须检索所有 JavaScript 代码(即,对于页面 A 和 B)。这不是有点不切实际吗?

更重要的是,对于这两个页面,JavaScript 都是由document.addEventListener("DOMContentLoaded", function, false);函数发起的。但是,A页面的功能假设有一个名为“pageA”的div(作为参考,以便通过js脚本修改或添加元素),同样页面B的功能假设有一个名为“ B 页”。因此,当我在页面 BI 上时收到没有“pageA”元素的 js 错误。我怎样才能避免这种情况?

鉴于这样一个事实,对于每个页面,我必须使用我的整个 JavaScript 代码(即所有页面)加载用户,我该如何启动(即在页面加载时立即启动,而不是在用户事件发生后立即启动)页面没有任何此类错误的特定 JavaScript 代码?我真的很困惑!

Wooho 非常快速的响应thanx伙计们!但我从未说过我将整个 js 代码写在 1 个单个文件中。相反,我使用了 RoR 的组织!(顺便说一句,将所有文件组合成一个文件)。为了澄清我的问题,我在不同的文件中启动了页面 A 的事件和页面 B(或 C 等)的事件。一旦 DOMContentLoaded 事件发生,代码就会触发。但是,当用户在页面 B 上时,我不想触发页面 A 的事件。或者类似地,我只想为页面 B 加载 js(这样页面 A 就不会触发任何事件)。我怎样才能做到这一点?

PS:如果您觉得有更好的标题,请随时提出建议!

0 投票
0 回答
408 浏览

cordova - 在触发 DOMContentLoaded 事件之前是否需要将 phonegap javascript 添加到 DOM 中?

Cordova-2.2.0.js 包含在应用程序启动时加载的初始 html 页面中。触发 deviceready 事件后,使用 "window.location.href = "http://myurl.aspx"; 加载外部 .aspx 页面

如果加载的页面包含 cordova.js 的脚本标记,则 deviceready 触发并且一切正常。但是,用户可能在 iOS 设备或 Android 设备上。所以cordova.js需要动态添加到页面中。Cordova.js 总是下载到设备上,但有时外部 url 无法连接到设备上的 cordova api。我在 iPad 上遇到过这个问题。

当应用程序正常工作时,我注意到 cordova.js 正在处理 DOMContentLoaded 事件,当它不工作时,cordova.js 没有捕获该事件。

谢谢,

0 投票
3 回答
116 浏览

javascript - 在 Javascript 中触发 DOMContentLoaded 时,如何找出正在执行的内容?

有没有办法获取在触发 DOMContentLoaded 或 jQuery 的 $(document).ready() 函数时将执行的所有代码。

我正在尝试优化我的网站,通过速度测试,我发现页面加载时间的 2 秒用于处理触发 DOMContentLoaded 时的事件。

0 投票
3 回答
1504 浏览

javascript - Javascript DOMContentLoaded 有一个神秘的 5-10 秒延迟

我真的很困惑。我在使用 Bootstrap 的轮播的测试站点上有一个相当动态的页面(但我希望这是我的代码,而不是他们的,这是错误的)。

测试页面可以在这里找到:http: //bit.ly/ZjLl19

你会注意到如下...

  • 页面开始加载
  • 员工画像开始出现
  • 然后......大约 5-10 秒内没有任何反应
  • 5-10 秒后,会出现一个带有员工传记和较大肖像的轮播

为什么会有这种延迟?我查看了 Webkit 调试器,我可以在DOMContentLoaded运行时看到时间线中的空闲时间,然后再发生其他任何事情。有任何想法吗?

谢谢!

0 投票
3 回答
1668 浏览

javascript - $ 未在 DOMContentLoaded 之前定义 - JQuery

我拥有的 js 文件中的第一条语句是

但是当我使用萤火虫时,它告诉我“$ 未定义”。在文件的其他地方,一切都按预期工作。实际上,如果我将第一行更改为

一切也都很好。我不想这样做,因为我希望能够获得跨浏览器的兼容性。

0 投票
1 回答
165 浏览

php - 当用户在没有 sql 的情况下滚动时生成更多内容

我的目标是在用户向下滚动时生成以下代码:

此代码位于块内。我想生成随机图像并将它们显示在格式良好的区域中。现在,一切正常,除了我需要自动生成此代码,以便在用户滚动时显示更多...就像 Facebook 在您向下滚动时在墙上加载更多帖子一样。我尝试了很多脚本,但没有一个对我有用。

0 投票
3 回答
1905 浏览

javascript - 功能检测对 DOMContentLoaded 事件的支持

是否可以检测到对DOMContentLoaded事件的支持?

方法就像 Kangax 的解决方案在这里不起作用,因为DOMContentLoaded没有作为任何元素的属性公开:Detecting event support without browser sniffing

0 投票
2 回答
4305 浏览

jquery - 加载图像后显示整页图像

如何仅在加载后显示图像但页面的其余部分正常显示?在每个页面上我都有这样<html class"page-name">的东西,css如下html.page-name { background: url(images/page-name.jpg) no-repeat center center fixed; background-size: cover; }

我尝试将javascript作为$(window).load(function(){ $('html').fadeIn(1500); });

但这显然不起作用,因为在加载图像之前,孔页是空白的。我希望在加载图像之前背景为黑色,然后将其替换为黑色背景。我还尝试$(window).load(function(){ $('html').addClass('page-title'); });page-title类具有过渡效果但也不起作用的地方。

我如何实现这一点,具有黑色背景并在完全加载后将其替换为图像?

谢谢你。