问题标签 [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 - 可以在就绪状态之前操纵 dom 吗?
这通常是我在保持体验干净的同时管理渐进增强的方式,但它有多安全?是否有可能出现竞争条件而这不起作用?
想象一下简单的抽象场景,如果你有 javascript 支持,你想显示不同的东西。这通常是我最终会做的事情:
许多人可能会声称您应该使用框架并等待 domready 事件,并在那里进行更改。但是在文档结束之前已经呈现“测试”元素并且 css 已准备好并且domready 触发.. 从而导致“原始”的明显闪烁。
此代码是否容易出现竞争条件失败?或者我可以保证一个元素在脚本之前存在的话是可发现和可修改的?
提前致谢。
javascript - window.onload 已经触发了吗?
我有一个脚本将在未知时间插入到未知页面。是否可以从这个脚本中判断 window.onload 是否已经触发?
我无法控制主机页面。我不能向它添加任何标记或脚本。我只知道我的脚本会在某个时候插入到页面中。它可以在 window.onload 之前或之后;我需要检测我在那个事件的哪一边。
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).
javascript - 在jQuery中强制触发domready?
由于将 javascript DOM 方法放置在 html 页面底部(在 <body> 之后)比使用 jQuery 'ready' 事件要快得多,我们不应该通过以下方式强制它:
...在body标签之后?我还没有真正尝试过,但它应该加快速度。还是我错过了什么?
javascript - 使用被谷歌认为是反模式的 DOMContentReady
Google Closure 库团队成员声称等待 DOMContentReady 事件是一种不好的做法。
简而言之,我们不想等待 DOMContentReady(或更糟糕的加载事件),因为它会导致糟糕的用户体验。在从网络加载所有 DOM 之前,UI 不会响应。所以首选的方法是尽快使用内联脚本。
由于他们仍然没有提供更多细节,所以我想知道他们如何处理 IE 中的Operation Aborted对话框。这个对话框是我知道等待 DOMContentReady(或加载)事件的唯一关键原因。
- 你知道还有其他原因吗?
- 您认为他们如何处理 IE 问题?
javascript - 无需整个框架即可准备好 Javascript DOM
有谁知道我可以在不加载整个框架的情况下使用一个好的 javascript DOM 就绪库?我在google 代码上找到了一个似乎有效的代码,但该库是在 2008 年发布的,我找不到任何关于最新跨浏览器支持的确认。
javascript - DOM 刷新后用 jQuery 测量 width()
我的脚本在内部动态创建一个<ul>
宽度左浮动<li>
的 s:它是一个分页器。之后,脚本会测量所有<li>
s 的宽度并将它们相加。
问题在于,在将节点注入文档后——浏览器会刷新 DOM 并应用 CSS 样式,这需要一段时间。它对我的脚本有负面影响:当这些操作在我测量宽度之前没有完成时——我的脚本得到了错误的值。如果我在一秒钟内执行测量 - 一切都很好。
我正在寻找的是一种检测<ul>
完全绘制、应用样式和宽度稳定的时刻的方法。或者至少是一种检测每个维度变化的方法。我当然可以使用setTimeout(..., 100)
,但它很丑,我猜——根本不是解决方案。
如果有办法检测宽度稳定性——我会在它之后立即进行测量以获得正确的值。
DOM 生成的 HTML 代码
PS为什么我需要这个。当试图变得比页面本身更宽时,我的分页器的左浮动<li>
项目倾向于移动到下一行。<ul>
即使<li>
由于 parent<div>
的宽度限制,大多数 s 都是不可见的:
<ul>
除非我用脚本指定实际的总宽度,否则它们仍然会下降。
jquery - 没有 domready 的 jQuery
搜索添加此代码after the <head>
(或某些<link stylesheet>
)的方法并before <body>
生成(创建)。
没有<body>
没有domready()
,所以它似乎更好地使用head
替代或其他东西。Append
也可以更换。
无法直接访问 html 文件编辑,这就是我使用 javascript 的原因。
为什么需要它?当我们在页面生成后domready()
使用脚本添加样式时,具有新样式的块会从以前的装饰跳转到新的- 不好,这就是为什么我们应该使用另一个钩子。
有人知道该怎么做吗?
谢谢。
jquery - jQuery的就绪队列$(foo)和$(bar)是顺序运行还是并行运行?
如果有 2 或 3 或 20 个使用 jQuery 的语句
添加 DOM 准备就绪时要执行的函数,所有这些函数是并行运行还是按顺序运行?
javascript - 了解文档就绪事件
嘿,我只是在为我的 JS 和 jQuery 实践编写另一个基本脚本,当我意识到这实际上是由什么组成时,我只是在抽出 goold ol' document-ready 事件,我想知道我是对的还是不是:
这是为 jQuery 准备的文档:
现在,美元符号是 jQuery 的简写,它调用 jQuery 库,所以我们可以进行 jQuery 语句和调用,对吗?
(document) 是一个选择器,它指的是 DOM 的“最高”部分(除了 Window?)。
.ready 是在 DOM 完全加载时发生的动作。现在,“DOM”已完全加载,在这种情况下,DOM 是否指的是正在选择的内容?因此,如果选择正文而不是文档,脚本会在加载之前执行吗?
这部分让我有点困惑。
我知道一旦我们的文档加载完毕,它就会运行我们的脚本。换句话说,它会运行我们的函数吗?我们的整个脚本是否被认为是一个函数?而且,它实际上只是一个大的 JavaScript 语句,对吗?因为它以分号结尾。另外,为什么我们的脚本通常放在大括号之间,而不是函数的括号?有什么不同?
非常感谢,对不起n00by问题,我只是好奇!xD