问题标签 [onload]

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 投票
6 回答
17348 浏览

javascript - Setting OnLoad event for newly opened window in IE6

I need to set the onload attribute for a newly popped-up window. The following code works for Firefox:

However, when I try this in IE, I get an error - "printwindow.document.body null or not defined'

The goal is to pop open a new window, and call up the print dialog for that window once it's been opened.

Any clues on how to make this work? It is important not to use javascript elsewhere on the target page, as I do not have control over it. All functionality must be contained in the link I posted above.

0 投票
2 回答
3234 浏览

javascript - 一个合理的请求:IE 中指示加载进度的 iframe?

让我对 IE 感到困扰的一件事是,当它使用 iframe 加载页面时,它会等到 iframe 完成加载后才会呈现页面。相比之下,Firefox 将在 iframe 加载时呈现所有其他页面元素,如果 iframe 需要很长时间才能加载,这非常好,因为它会向用户提供页面正在运行的一些反馈。它还允许您执行诸如在框架加载时显示“iframe 加载”消息并将其换出 iframe 加载的操作。

所以,我想知道是否有人找到了解决方法。理想情况下,我希望看到一个跨浏览器解决方案,在页面上加载 iframe 时显示进度条。除此之外,我会采用一种实现 iframe 的方法,该方法强制 IE 首先呈现页面然后加载 iframe。

我已经看到了几个有趣的 jquery 进度条,例如: http: //plugins.jquery.com/project/jQueryProgressBar

但是......(如果我在这里错了,请纠正我,因为我的理解是不稳定的)......在我看来,jquery 栏只在 DOM 加载后呈现。在 IE 中,直到加载 DOM 后才会显示 iframe 内容,因此此时显示进度条是无关紧要的。

我还尝试将 iframe src 设置为 loading.htm,然后 onload 将 src 切换到我想要的内容。遗憾的是,在最终内容页面出现之前,IE 仍然不会呈现页面(对我来说似乎很奇怪)。

帮助我stackoverflow,你是我唯一的希望。

0 投票
4 回答
1550 浏览

asp.net - 确定用户控件中的哪个按钮发送了事件

我有一个有几个按钮的用户控件。

On page_load,除非按下特定按钮,否则我想运行一个方法。

当我在用户控件内部检查发件人时page_load,我只得到用户控件的名称而不是按钮本身。

有没有办法可以确定按下了哪个按钮page_load?否则我将不得不想出一些hacky方法来解决这个问题。

0 投票
3 回答
709 浏览

javascript - 取消慢速加载远程 JS 调用的最佳方法

我有一个必须出现在文档头部的远程 JS。如果服务器响应缓慢或无法访问,显然这会减慢或阻止页面加载。我一直在寻找一种简单的方法来设置 3 秒(可能更少)的限制,让它放弃并且根本不加载功能。

有没有人有一个简单的方法来只用 Javascript 做到这一点?

0 投票
3 回答
2882 浏览

javascript - showModelessDialog - onLoad 失败 - IE 7

如果目标页面中有 Javascript 警报,MSIE v7 不会(在我手中)打开无模式对话框或触发 onLoad 事件。以下在 MSIE v7 中失败,但在 v6 中正常(如果需要,可以使用完整源代码的 zip 文件)。

希望其他人确认这一点并讨论为什么会这样。

index.htm(此处仅显示 javascript 函数)

无模式.htm

0 投票
3 回答
4705 浏览

javascript - Javascript Window.Onload 函数链接

只是为了实验,我一直在尝试确定window.onload在网络浏览器中非破坏性链接功能的不同方法。这是我到目前为止的想法:

我看到的问题是每次链接一个函数时,它都会向堆栈添加另一级函数调用。有没有更好的方法来解决这个问题,不会给调用堆栈增加不必要的深度?

0 投票
5 回答
6623 浏览

jquery - jQuery document ready() 函数可能需要很长时间才能执行

我的问题是,有时一段 JavaScript(通常是 Google Analytics)可能需要很长时间才能加载,尽管 HTML 准备好“遍历和操作”并不重要。如果我要使用以下代码:

这是否意味着在<p>加载 Google Analytics 之类的内容之前不会填充?

大多数网站通常不需要像谷歌分析这样的东西,我经常发现我正在等待它加载。(我不想使用 onload 因为它不可靠。)

有没有更好的方法或方式说“不要等待 [...]”?

注意:我通常不能将代码放在<script>标记之前的</body>标记中,因为该站点基于模板。我通常只能编辑页面的“内容”。

0 投票
5 回答
2134 浏览

asp.net - 为什么 Visual Studio 会默认为 WebForms 提供 Page_Load?

创建新的 WebForm 时,Visual Studios 在后面的代码中默认创建一个 Page_Load 处理程序,这很酷。所以多年来,我总是将代码用于在 Page_Load 中设置控件的属性。最近,我使用 Reflector 查看了一些微软编写的程序集,发现他们将相同类型的逻辑放在了一个名为 OnLoad 的方法中(据说会引发加载事件)。所以我开始想,真正设置控件属性的最佳位置在哪里,在 OnLoad 或 Page_Load 中?还是完全不同的方法?如果不是 Page_Load,为什么 Studio 将其添加到后面的代码中?

我最后的想法: 虽然我知道将逻辑放在 OnLoad 中可以正常工作,但我现在可能会坚持使用 Page_Load,因为这是传统的。在我开始看到 OnLoad 出现在其他人的代码中之后,我真的问了这个问题,以确定我是否错过了一些新的东西。谢谢大家周到的回答!

0 投票
2 回答
12359 浏览

dom - Dojo addOnLoad,但 Dojo 是否已加载?

我遇到了看似鸡和蛋的问题,并且有我认为合乎逻辑的解决方案。但是,我突然想到其他人一定遇到过类似的事情,所以我想我会把它浮出水面给大众。

情况是我想使用 dojo 的 addOnLoad 函数来排队一些回调,这些回调应该在 DOM 在客户端完成渲染后执行。所以我正在做的事情如下:

现在,问题是我似乎在将整个 Dojo 库下载到浏览器之前调用了 dojo.addOnLoad。这在某种程度上是有道理的,因为内联 SCRIPT 内容应该在整个 DOM 加载之前执行(并且触发正常的正文 onload 回调)。

我的问题是 - 我的方法是否合理,或者注册一个普通/标准主体 onload JavaScript 回调来调用一个函数是否更有意义,该函数与每个 dojo.addOnLoads 在 SCRIPT 块中所做的工作相同。当然,这引出了一个问题,如果您不能保证 Dojo 库会在使用库之前被加载,为什么还要使用 dojo.addOnLoad?

希望这种情况对我以外的人有意义。似乎其他人可能遇到过这种情况。

想法?

最好的问候,亚当赖斯

0 投票
7 回答
3228 浏览

javascript - 加载 Javascript 的最佳实践

处理分布在许多页面上的几种不同 onload 脚本的最佳方法是什么?

例如,我有 50 个不同的页面,当 dom 准备好时,我想在每个页面上设置不同的按钮单击处理程序。

最好在每个单独的页面上设置这样的点击次数,

或者外部js文件中很长的文档准备功能,

或者将每个if ($('link')) {}部分拆分为脚本标签并将它们放在适当的页面上,

或者最后,将每个if ($('link')) {}部分拆分为自己单独的 js 文件并在每个页面上适当加载?

解决方案 1 看起来最不优雅并且相对突兀,解决方案 2 将导致非常冗长的加载功能,解决方案 3 没有 1 那么突兀,但仍然不是很好,解决方案 4 将加载要求用户下载单独的 js 文件他访问的页面。

这些中的任何一个是最好的(或最差的)还是有我没有想到的解决方案 5?

编辑:我问的是设计模式,而不是哪个 onload 函数是合适的。