问题标签 [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 投票
5 回答
5693 浏览

javascript - 可以在就绪状态之前操纵 dom 吗?

这通常是我在保持体验干净的同时管理渐进增强的方式,但它有多安全?是否有可能出现竞争条件而这不起作用?

想象一下简单的抽象场景,如果你有 javascript 支持,你想显示不同的东西。这通常是我最终会做的事情:

许多人可能会声称您应该使用框架并等待 domready 事件,并在那里进行更改。但是在文档结束之前已经呈现“测试”元素并且 css 已准备好并且domready 触发.. 从而导致“原始”的明显闪烁。

此代码是否容易出现竞争条件失败?或者我可以保证一个元素在脚本之前存在的话是可发现和可修改的?

提前致谢。

0 投票
2 回答
1592 浏览

javascript - window.onload 已经触发了吗?

我有一个脚本将在未知时间插入到未知页面。是否可以从这个脚本中判断 window.onload 是否已经触发?

我无法控制主机页面。我不能向它添加任何标记或脚本。我只知道我的脚本会在某个时候插入到页面中。它可以在 window.onload 之前或之后;我需要检测我在那个事件的哪一边。

0 投票
2 回答
4939 浏览

javascript - document.readyState analog for gecko-based browsers

IE has attribute readyState in document object, that indicates current state, e.g. "loading", "complete" etc.

Is there any way to find current loading state of document in Mozilla-based browsers? I'm aware of DOMContentLoaded event, but it wont fit my situation, as my code can be executed after this event was fired.

Added: no, I can't use any framework, and don't confuse with .readyState attribute of XHR object. And it's a bookmarklet, so it can be inserted in at any loading stage.

Added later: Anyway, it looks like it's not a big issue for me. Because this attribute will be added in FF3.6, and it does not break things badly in Firefox, when you manipulate on unfinished DOM (unlike IE).

0 投票
3 回答
4945 浏览

javascript - 在jQuery中强制触发domready?

由于将 javascript DOM 方法放置在 html 页面底部(在 <body> 之后)比使用 jQuery 'ready' 事件要快得多,我们不应该通过以下方式强制它:

...在body标签之后?我还没有真正尝试过,但它应该加快速度。还是我错过了什么?

0 投票
7 回答
9480 浏览

javascript - 使用被谷歌认为是反模式的 DOMContentReady

Google Closure 库团队成员声称等待 DOMContentReady 事件是一种不好的做法。

简而言之,我们不想等待 DOMContentReady(或更糟糕的加载事件),因为它会导致糟糕的用户体验。在从网络加载所有 DOM 之前,UI 不会响应。所以首选的方法是尽快使用内联脚本。

由于他们仍然没有提供更多细节,所以我想知道他们如何处理 IE 中的Operation Aborted对话框。这个对话框是我知道等待 DOMContentReady(或加载)事件的唯一关键原因。

  1. 你知道还有其他原因吗?
  2. 您认为他们如何处理 IE 问题?
0 投票
6 回答
8030 浏览

javascript - 无需整个框架即可准备好 Javascript DOM

有谁知道我可以在不加载整个框架的情况下使用一个好的 javascript DOM 就绪库?我在google 代码上找到了一个似乎有效的代码,但该库是在 2008 年发布的,我找不到任何关于最新跨浏览器支持的确认。

0 投票
1 回答
1281 浏览

javascript - DOM 刷新后用 jQuery 测量 width()

我的脚本在内部动态创建一个<ul>宽度左浮动<li>的 s:它是一个分页器。之后,脚本会测量所有<li>s 的宽度并将它们相加。

问题在于,在将节点注入文档后——浏览器会刷新 DOM 并应用 CSS 样式,这需要一段时间。它对我的脚本有负面影响:当这些操作在我测量宽度之前没有完成时——我的脚本得到了错误的值。如果我在一秒钟内执行测量 - 一切都很好。

我正在寻找的是一种检测<ul>完全绘制、应用样式和宽度稳定的时刻的方法。或者至少是一种检测每个维度变化的方法。我当然可以使用setTimeout(..., 100),但它很丑,我猜——根本不是解决方案。

如果有办法检测宽度稳定性——我会在它之后立即进行测量以获得正确的值。

DOM 生成的 HTML 代码

PS为什么我需要这个。当试图变得比页面本身更宽时,我的分页器的左浮动<li>项目倾向于移动到下一行。<ul>即使<li>由于 parent<div>的宽度限制,大多数 s 都是不可见的:

<ul>除非我用脚本指定实际的总宽度,否则它们仍然会下降。

0 投票
2 回答
301 浏览

jquery - 没有 domready 的 jQuery

搜索添加此代码after the <head>(或某些<link stylesheet>)的方法并before <body> 生成(创建)。

没有<body>没有domready(),所以它似乎更好地使用head替代或其他东西。Append也可以更换。

无法直接访问 html 文件编辑,这就是我使用 javascript 的原因。

为什么需要它?当我们在页面生成后domready()使用脚本添加样式时,具有新样式的块会从以前的装饰跳转到新的- 不好,这就是为什么我们应该使用另一个钩子。

有人知道该怎么做吗?

谢谢。

0 投票
3 回答
638 浏览

jquery - jQuery的就绪队列$(foo)和$(bar)是顺序运行还是并行运行?

如果有 2 或 3 或 20 个使用 jQuery 的语句

添加 DOM 准备就绪时要执行的函数,所有这些函数是并行运行还是按顺序运行?

0 投票
7 回答
1998 浏览

javascript - 了解文档就绪事件

嘿,我只是在为我的 JS 和 jQuery 实践编写另一个基本脚本,当我意识到这实际上是由什么组成时,我只是在抽出 goold ol' document-ready 事件,我想知道我是对的还是不是:

这是为 jQuery 准备的文档:

现在,美元符号是 jQuery 的简写,它调用 jQuery 库,所以我们可以进行 jQuery 语句和调用,对吗?

(document) 是一个选择器,它指的是 DOM 的“最高”部分(除了 Window?)。

.ready 是在 DOM 完全加载时发生的动作。现在,“DOM”已完全加载,在这种情况下,DOM 是否指的是正在选择的内容?因此,如果选择正文而不是文档,脚本会在加载之前执行吗?

这部分让我有点困惑。

我知道一旦我们的文档加载完毕,它就会运行我们的脚本。换句话说,它会运行我们的函数吗?我们的整个脚本是否被认为是一个函数?而且,它实际上只是一个大的 JavaScript 语句,对吗?因为它以分号结尾。另外,为什么我们的脚本通常放在大括号之间,而不是函数的括号?有什么不同?

非常感谢,对不起n00by问题,我只是好奇!xD