问题标签 [domready]

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 投票
2 回答
2454 浏览

javascript - 带有 jQ​​uery .domready() 的 requirejs 未正确触发

当您使用 requirejs 2.1.1 加载 jquery 1.8.2 时$(document).ready() $(window).load()事件开始表现得非常奇怪。

有时只有其中一个会被触发,有时两者都会触发,但在所有情况下,它们都会在加载所有内容、图像等后触发 - .load() event

切换到 jQuery 1.7.2 可以 正常.load()工作,但不会在真正的 DOM 就绪事件上触发。我在这里做错了什么,或者不仅仅是我有这些问题?.ready().load()

示例(打开控制台并刷新):

http://jsbin.com/epujom/5

来源

http://jsbin.com/epujom/5/edit

编辑: 我已经更新了测试用例。现在可以清楚地看到,jQuery.isReady = false即使 DOM 已准备好

0 投票
2 回答
610 浏览

javascript - 为什么 Javascript 会导致 FOUC

我正在一个有很多 Javascript 和 jQuery 的网站上工作——据我所知,其中大部分是在文档准备好后触发加载的。但是,当页面加载时,您会得到大约一秒钟的白色 FOUC。但是如果你完全禁用 Javascript,根本就没有白闪。

如何确保 Javascript 在页面加载后才开始加载?它已经在大量使用

...所以在页面完成加载并呈现之前,Javascript不应该触发......对吗?但不知何故,页面在渲染之前等待脚本完成——即使它不需要,因为页面在 Javascript 完全禁用的情况下看起来仍然很好。

0 投票
1 回答
318 浏览

javascript - 在准备好之前得到身体?

我希望这段代码可以返回主体的类名。

但相反,我得到Uncaught TypeError: Cannot read property 'className' of null

有什么方法可以在domready事件发生之前在头部获取和设置身体的类名吗?

唯一的方法是将此代码附加到domready事件?

0 投票
1 回答
2110 浏览

javascript - DOMContentLoaded 在 $(document).ready 中?

目前我尝试熟悉一个插件。在插件主页上,有几个关于如何使用它的示例。

在一个示例中,有以下代码:

因为我也在使用 jQuery,所以我想在里面使用那个代码$(document).ready,我相信这基本上是 jQuery 的做法DOMContentLoaded。那么删除&
是否安全,只留下里面?document.addEventListener('DOMContentLoaded', function () {}, false);setTimeout(loaded, 200);$(document).ready

0 投票
3 回答
69 浏览

jquery - 如果它需要 ready() 工作,这对我的页面意味着什么

当我从 firebug 控制台运行时,它下面的代码可以正常工作

但是当我删除 时jQuery(document).ready,我的代码不起作用。

ready()表示文档(图像等)已加载到我的浏览器中,然后触发事件。但是,如果第一个代码块有效(意味着 DOM 已准备好),那么 seconf 代码块不应该也运行吗?

我想我遗漏了一些东西,但我理解的是,在这两种情况下,代码都应该运行,因为文档是在我的浏览器中加载的。

或者页面代码中可能存在阻碍代码执行的错误。

PS:代码页只是我本地主机中的一个wordpress页面。

0 投票
2 回答
84 浏览

javascript - 页面加载后获取图片尺寸

我有一个项目需要获取徽标的尺寸并相应地调整其位置。$(document).ready据我了解,页面上的所有元素都应该在onload事件发生后立即可用。我还尝试将脚本放在结束正文标记之前,以确保我可以得到所有内容。我使用 jQuery$(element).width$(element).height测量徽标图像。

但是,我不是每次都得到这些值:我控制台记录了这两个值。有时,它显示为零,我图像标签已加载,但实际图像仍在加载。我很困惑,因为我在网上搜索,他们都说如果我使用 DOM 准备好或将脚本标签放在最后,所有元素都应该准备好。

0 投票
1 回答
602 浏览

google-maps-api-3 - 在 infobox.open 上的谷歌地图信息框中显示动态背景图像

我正在尝试将背景图像添加到谷歌地图信息框内容内的 div 中。我遇到了问题,因为我用来更改 .css('background-image') 的函数无法识别 div 的 ID。这可能是因为打开信息框时内容字符串尚未被 DOM 加载。我知道我必须添加一个监听“domready”或类似的事件,但我不确定如何实现它。这是有问题的代码:

0 投票
3 回答
19863 浏览

javascript - 外部脚本中的 window.onload 在 Javascript 中被忽略

索引.html

foo.js

  1. window.onload在 html 中使用时,window.onload来自外部的 js 将被忽略。
  2. window.onload从外部 js 被注释掉时,bar.length返回 0。
  3. window.onload从 html 被删除时,window.onload从外部 js 工作正常。

谁能解释为什么我不能同时使用两者window.onload

如果我必须在 html 中使用window.onload,如何判断窗口是否是从外部 js 加载的?

0 投票
3 回答
1125 浏览

javascript - 延迟执行 addThis

我有一个使用谷歌地图和我自己的 javascript 的网站。我正在将 addThis javascript 用于社交按钮。在我的 javascript 和 google javascript 加载并运行(on)之前,该站点才真正可用,$(document).ready...所以我想尽量减少延迟。因此,我正在考虑推迟 AddThis 模块,直到其他所有内容都完成为止,因为它并不那么重要。

关于 stackoverflow 的其他问题建议将我想要延迟的 javascript 的链接放在页面底部。但是我是否认为这与我无关,因为$(document).ready...无论其放置在何处,所有链接的 javascript 都已加载之前不会触发?

如果是这样,我应该在 on 之后以某种方式加载 addThis javascript$(document).ready...吗?

虽然我真的不想运行 addThis 直到所有谷歌地图图像等都被加载(我相信 .ready() 不会等待这个)。有没有推荐的方法来处理这种事情?

作为参考,典型的 addThis 用法...

0 投票
4 回答
19783 浏览

javascript - 检测 iframe 中的 DOMContentLoaded

我惊讶地发现以下似乎不起作用,因为 DOMContentLoaded 事件没有触发(this.els是元素的对象)。

页面加载到 iframe 中很好,但没有回调。然而, DOM level zeroonload可以工作。

一种解决方法是在父页面中准备一个全局可访问的 jQuery 延迟对象,并通过调用 iframe 的页面触发的 DOM-ready 事件来解决它,而不是从父页面监听 DOM-ready。

父页面:

框架页面:

尽管如此,最好知道第一种方法是怎么回事......