问题标签 [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.
javascript - 带有 jQuery .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/edit
编辑:
我已经更新了测试用例。现在可以清楚地看到,jQuery.isReady = false
即使 DOM 已准备好
javascript - 为什么 Javascript 会导致 FOUC
我正在一个有很多 Javascript 和 jQuery 的网站上工作——据我所知,其中大部分是在文档准备好后触发加载的。但是,当页面加载时,您会得到大约一秒钟的白色 FOUC。但是如果你完全禁用 Javascript,根本就没有白闪。
如何确保 Javascript 在页面加载后才开始加载?它已经在大量使用
...所以在页面完成加载并呈现之前,Javascript不应该触发......对吗?但不知何故,页面在渲染之前等待脚本完成——即使它不需要,因为页面在 Javascript 完全禁用的情况下看起来仍然很好。
javascript - 在准备好之前得到身体?
我希望这段代码可以返回主体的类名。
但相反,我得到Uncaught TypeError: Cannot read property 'className' of null
有什么方法可以在domready
事件发生之前在头部获取和设置身体的类名吗?
唯一的方法是将此代码附加到domready
事件?
javascript - DOMContentLoaded 在 $(document).ready 中?
目前我尝试熟悉一个插件。在插件主页上,有几个关于如何使用它的示例。
在一个示例中,有以下代码:
因为我也在使用 jQuery,所以我想在里面使用那个代码$(document).ready
,我相信这基本上是 jQuery 的做法DOMContentLoaded
。那么删除&
是否安全,只留下里面?document.addEventListener('DOMContentLoaded', function () {
}, false);
setTimeout(loaded, 200);
$(document).ready
jquery - 如果它需要 ready() 工作,这对我的页面意味着什么
当我从 firebug 控制台运行时,它下面的代码可以正常工作
但是当我删除 时jQuery(document).ready
,我的代码不起作用。
ready()表示文档(图像等)已加载到我的浏览器中,然后触发事件。但是,如果第一个代码块有效(意味着 DOM 已准备好),那么 seconf 代码块不应该也运行吗?
我想我遗漏了一些东西,但我理解的是,在这两种情况下,代码都应该运行,因为文档是在我的浏览器中加载的。
或者页面代码中可能存在阻碍代码执行的错误。
PS:代码页只是我本地主机中的一个wordpress页面。
javascript - 页面加载后获取图片尺寸
我有一个项目需要获取徽标的尺寸并相应地调整其位置。$(document).ready
据我了解,页面上的所有元素都应该在onload
事件发生后立即可用。我还尝试将脚本放在结束正文标记之前,以确保我可以得到所有内容。我使用 jQuery$(element).width
来$(element).height
测量徽标图像。
但是,我不是每次都得到这些值:我控制台记录了这两个值。有时,它显示为零,我猜图像标签已加载,但实际图像仍在加载。我很困惑,因为我在网上搜索,他们都说如果我使用 DOM 准备好或将脚本标签放在最后,所有元素都应该准备好。
google-maps-api-3 - 在 infobox.open 上的谷歌地图信息框中显示动态背景图像
我正在尝试将背景图像添加到谷歌地图信息框内容内的 div 中。我遇到了问题,因为我用来更改 .css('background-image') 的函数无法识别 div 的 ID。这可能是因为打开信息框时内容字符串尚未被 DOM 加载。我知道我必须添加一个监听“domready”或类似的事件,但我不确定如何实现它。这是有问题的代码:
javascript - 外部脚本中的 window.onload 在 Javascript 中被忽略
索引.html
foo.js
- 当
window.onload
在 html 中使用时,window.onload
来自外部的 js 将被忽略。 - 当
window.onload
从外部 js 被注释掉时,bar.length
返回 0。 - 当
window.onload
从 html 被删除时,window.onload
从外部 js 工作正常。
谁能解释为什么我不能同时使用两者window.onload
?
如果我必须在 html 中使用window.onload
,如何判断窗口是否是从外部 js 加载的?
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 用法...
javascript - 检测 iframe 中的 DOMContentLoaded
我惊讶地发现以下似乎不起作用,因为 DOMContentLoaded 事件没有触发(this.els
是元素的对象)。
页面加载到 iframe 中很好,但没有回调。然而, DOM level zeroonload
可以工作。
一种解决方法是在父页面中准备一个全局可访问的 jQuery 延迟对象,并通过调用 iframe 的页面触发的 DOM-ready 事件来解决它,而不是从父页面监听 DOM-ready。
父页面:
框架页面:
尽管如此,最好知道第一种方法是怎么回事......