问题标签 [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 - $.ready() 在关闭正文之前
这不是一个真正的编码问题,更像是一个真实世界的陈述。
我之前已经注意到事件DOMReady
很慢,非常慢。因此,我在浏览 jQuery 源代码时注意到,可以使用$.ready()
. 然后我想,在关闭正文之前放置这个简单的执行脚本应该会触发之前附加的所有“onDomReady”侦听器。是的,它按预期工作:
这里有两个例子,一个测量等待 DOMReady 所花费的毫秒数:
如您所见,DOMReady 触发器本身非常慢,用户必须等待整整 200-300 毫秒才能启动 domready 脚本。
无论如何,如果我们$.ready()
在关闭标签之前放置,BODY
我们会得到:
看到不同?通过手动触发 domready,我们可以切断 100-300 毫秒的执行延迟。这是一个大问题,因为我们可以在看到 DOM 操作之前依靠 jQuery 来处理它们。
现在,对于一个问题,我以前从未见过有人推荐或讨论过这个问题,但它似乎仍然是一个主要的性能问题。一切都是为了优化代码本身,这当然很好,但是如果执行延迟这么长时间,用户看到“unjQueryedContent”的闪光,那是徒劳的。
任何想法为什么不更频繁地讨论/推荐?
javascript - 每次在 jQuery 中加载元素时,如何获取 .ready 被调用?
我希望每次初始化 Dom 元素时都会触发一个事件,如下所示:
HTML
Javascript
我试过了:
编辑:我有兴趣为 ajax 插入的元素执行此操作。例如:
在这里摆弄:http: //jsfiddle.net/nf8CP/
jquery - domready 事件和 iframe
如果我做...
或者...
...如果我在运行它的页面上有一个 iframe,则这些函数在 iframe 加载其内容之前不会运行。
这不是我认为这些 domready 函数应该如何工作的方式。我认为他们特别没有等到加载图像和 iframe 之类的东西。
有人可以启发我吗?有没有我可以使用的不等待 iframe 的 domready 方法?
谢谢
backbone.js - 带有主干.js 的 DomReady
我正在使用backbone.js 创建一个单页应用程序。我是骨干新手,所以请原谅任何错误的语义。
我的问题是渲染视图时。
最初,我的 index.html 中有一个执行某些 dom 操作(图像滑块)的 javascript。
JS 包含在 $(window).load() 中,因此启动时一切正常。除非从 url 加载页面,否则代码显然不会执行。代码不会从主干视图或路由器运行。所以页面加载时没有 dom 操作。
我试图将我的代码插入到视图中的渲染和初始化函数中,但无济于事。我应该将此代码添加到路由器吗?这似乎有点骇人听闻。
我应该在哪里包含“dom ready”代码?和/或是否有更好的方法来管理主干中加载的视图及其 dom 元素?
编码:
主页.js
javascript - 如果我把所有的脚本都放在```之后,我需要等待`domReady`吗?
Jquery 有一个ready
方法:
当 dom 准备好时,它将执行我的代码。
我有一个问题,如果我将所有脚本都放在 之后</body>
,例如
我还需要写$(document).ready()
吗?dom已经ready
在后面了</body>
吗?
jquery - 为什么jQuery异步触发就绪事件
在 jQuery 就绪事件逻辑中:
您能否解释一下评论:“异步处理它以允许脚本有机会延迟准备好”。
我不明白什么脚本以及为什么要延迟准备好?
google-chrome - 模块加载超时:domReady!_unnormalized2
你如何解释这个错误?
未捕获的错误:模块加载超时:domReady!_unnormalized2,domReady!_unnormalized3,domReady!
我正在使用 requirejs 2.1.2 和 domReady 2.0.1。它并不总是发生,而且显然只在 Chrome 中(在 IE 和 firefox 中工作正常)。
我增加了默认加载时间:
需要.config({ waitSeconds: 90 });
但它一直失败。
有任何想法吗?我将不胜感激任何帮助
jquery - 通过 ajax 加载的 Javascript 不能在后面的脚本块中调用函数
我有 2 个 HTML 文件,1.html和2.html。
- 1是主页,它通过 ajax 加载2并将其内容填充到
div
. - 在1中,有 3 个脚本块 - A、B和C。
$(document).ready()
in 块B调用块C中的函数。- 没有错误。
- 在2中,有 3 个脚本块 - P、Q和R。
$(document).ready()
in 块Q调用块R中的函数。- 它给出了一个错误。
似乎当通过 ajax 加载某些 Javascript 时,它无法调用稍后(但不是更早)出现在同一文件中的脚本块中的函数。为什么?这是预期的行为吗?
源代码
1.html
2.html
输出
它会警告A
, B
, C
, P
, Q
,然后给出错误消息。
错误信息
歌剧 12.11:
未处理的错误:未定义的变量:R
铬 23.0.1271.97 米:
未捕获的 ReferenceError:未定义 R
即 9:
SCRIPT5007:属性“R”的值为 null 或未定义,而不是 Function 对象
javascript - DOMContentReady 未在 Chrome 扩展程序中触发
我在 manifest.json 文件中编写了以下代码:
我在 pops.html 中编写了以下代码
popup.js 中的代码是:
现在的问题是 JavaScript 没有像我点击登录按钮时那样运行,它没有提醒消息“它正在工作”。我在这里错过了什么?
javascript - 如何让 javascript 在 dom 和 css 准备好但没有图像时执行
我想在 dom 和 css 准备好时执行一些 javascript,但我不关心图像(我倾向于延迟加载图像)
我知道如何检测 dom 就绪状态,但如何检测 css 就绪?