问题标签 [window-load]
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 - 使用 document.ready 与 window.load 加载延迟内容
我知道 document.ready 和 window.load 事件之间的区别。现在为了提高我网站的性能,我计划推迟加载 javascript。我见过很多延迟加载内容的例子:
- 注入
<script src="...">
并<link rel="stylesheet" href="...">
在 document.ready 上 - 注入
<script src="...">
并<link rel="stylesheet" href="...">
在 window.load 上 - 在 document.ready 被触发后注入
<script src="...">
和<link rel="stylesheet" href="...">
几秒钟 - 在 window.load 被触发后注入
<script src="...">
和<link rel="stylesheet" href="...">
几秒钟
我的第一个问题是这些方法中的哪一种更可取。
我的第二个问题是,我想知道当我使用方法 1 时到底发生了什么。如果我的文档在 HTML 源代码中定义了此内容:
在 document.ready 我注入这些额外的标签:
我想知道浏览器到底会做什么:
- 它什么时候会触发 document.ready 事件
- 它将按什么顺序下载文件
- 尝试下载注入的文件时是否会阻止页面
jquery - 在 (window).load 上调用 jQuery 并为“无冲突”代码传递变量
我最近学到了一个非常方便的技巧,它可以让你在 jQuery 函数中传递 $ ,这样你所有包含的代码都处于无冲突模式。优点是您可以使用“$”而不是“jQuery”编写所有包含的代码。
此代码工作正常...
此代码不起作用...
它说'$不是函数'。我如何让它工作?
javascript - jQuery window.load 不会修改使用其他 javascript 创建的 dom 元素
我使用 jQuery 来修改用其他 javascript 创建的 html。如果我在单击按钮时运行 jQuery,一切正常。
但是,如果我在窗口加载时运行 jQuery,它不会做任何事情。通过添加警报,它似乎在其他 javascript 完成在页面上创建 html 之前运行。在所有其他 javascript 完成后,如何让我的 jQuery 运行?
注意 - 我只做一个演示,所以在这种情况下性能和最佳实践并不是真正的问题。谢谢
更新 - 这是我的代码:
jquery - 在 window.load 上操作 DOM 的 jQuery 代码并不总是运行
我需要在选择列表中居中文本。没有仅使用 CSS 的跨浏览器和设备方法,所以我使用 JavaScript 设置文本缩进。
代码从选择列表中获取文本,将其添加到跨度(使用 css 使文本大小相同),并测量跨度的宽度。有了这个值,需要一些简单的数学来计算文本缩进需要是什么。
大多数情况下,这段代码运行良好,但有时似乎没有做任何事情,在这种情况下,刷新页面通常会修复它。为什么这段代码如此喜怒无常?是否与必须操纵dom有关?
谢谢
jquery - `$(window).load(function(){})` 和 `$(function(){})` 有什么区别
我一直在$(window).load(function(){});
为我的项目使用,直到在某个地方我看到有人说我们可以使用$(function(){});
它们并且它们的性能相同。
但是现在我有了更多的经验,我注意到它们并不相同。我注意到第一段代码在第二段代码之后一点点出现。
我只想知道有什么区别?
c# - 等待第三方应用程序窗口加载
我正在尝试创建一个 C#.NET 2.0 脚本来自动化用 Java 编写的第三方应用程序中的工作流。
我正在使用 user32.dll 函数来与 Java 应用程序窗口进行交互。
我的问题是 Java 应用程序窗口完全加载速度很慢,并且我发送的操作IntPtr SendMessage(IntPtr hWnd, UInt32 Msg, UInt32 wParam, IntPtr lParam)
有时会丢失。示例:在加载主窗口期间,如果我尝试打开一个菜单(此时我实际上在主窗口上有一个句柄),我的消息就丢失了,菜单永远不会打开。
我在 Stack Overflow 上找到了一些答案,告诉我们可以Process.WaitForInputIdle()
为此目的使用该方法,但我发现这仅适用于应用程序是单线程的,而我的 Java 应用程序不是这种情况。(C# SendKeys 等待程序加载后再发送)
我正在寻找具有相同想法但支持多线程或您可能拥有的任何其他想法的东西?!:)
遵循 Mari9 的想法,我终于用System.Diagnostic.PerformanceCounter()
来观看第三方应用程序进程的活动。然后它变为 0,这意味着该进程已经完成了它必须做的事情并且能够执行我发送给它的消息。
jquery - JqMobile 的窗口加载替代方案
他们是否可以替代 jquery mobile 的窗口加载事件..?
javascript - $(window).load 在带有异步 js 库的 IE 中触发太快
我在异步获取一些 js 库并$(window).load
在 IE中执行它们时遇到了一些严重的问题
当然在其他浏览器中都可以使用
所以问题是,我正在做类似的事情
就在之前</body>
并使用$(window).load
它上面的html中的方法来操作一些插件some_lib.js
,但这一切都发生在IE中很快,可能是因为包含异步库,并且我得到一个错误,该方法不适用于该元素。
有没有可能修改$(window).load
方法,所以我仍然可以对每个浏览器以相同的方式使用它?
javascript - 如何在 window.load 之前获得计算的 CSS 样式?
我有一个自定义幻灯片页面,其中包含数百张大图片的标记。此外,还有一个布局调整,单靠 CSS 无法完成,需要 javascript。该调整取决于几个页面元素的计算 CSS 样式。
这是问题所在:获得计算的 CSS 样式(document).ready
似乎不起作用。这很有意义,因为当仅注册 DOM 时,还没有发生布局/绘制。
(window).load
是显而易见的答案。但在这种情况下,等待时间(window).load
长得令人抓狂,因为下载所有 100 多张大图像实际上需要 30 秒(在慢速连接上更长!)。原则上这对幻灯片来说很好,因为一旦加载了前两个图像,幻灯片就开始可用,早在加载所有图像之前。问题是,我希望脚本化的 CSS 布局更正也发生在那个时候。
为了检查正在加载的 imgs,我使用了 imageLoaded,这很棒,并且在load
与 imgs 一起使用时解决了 jquery 事件的问题。但是如何检查页面元素(例如 div)上的“加载”类事件(以及计算样式的可用性)?(我意识到 div 不会触发加载事件。)原则上,两者之间是否存在可靠的跨浏览器 DOM 事件,(document).ready
并且(window).load
我可以在一组特定元素上侦听以获取计算样式?还是我被迫在这两个时间极端之间做出选择?
jquery - 尽管在 window.load 函数中,JavaScript 代码仍会在页面加载时加载
我想通过在 window.load() 函数中实现的 JS 代码添加背景图像。基本上,我想要的是更快的页面加载,然后在呈现页面时我想将背景图像添加到我的元素中。
我使用这段代码:
但这不起作用,我所有的背景图像仍然在第一次加载时加载。如何使其工作,因此它仅在页面加载后添加此代码。
我的意思是我可以把这个放在身体的点击事件中,但这只是愚蠢的。