ajax之后 onload,ASP.NET AJAX pageLoad()和JavaScript window.onload有什么不同?

一些事情要先注意MS发明了一种名为

Sys.Application的“客户端运行时对象”。它处理在页面的[clientside]寿命期间提升初始化,加载和卸载事件,如下所示:

> Sys.Application.initialize()开始生命周期的初始部分。这个initialize()的所有客户端AJAX控件,之后他们准备与程序交互

> Sys.Application开始负载生命周期的一部分,调用已订阅此事件的所有处理程序

>最后,它调用全局函数pageLoad(如果定义了一个)

对于每个部分(即AJAX UpdatePanel)回发,重复步骤2)和3)。

所以最后的答案:pageLoad只是一个方便的快捷方式Sys.Application.add_load()。

关于它与window.onload的关系,但事情开始变得有趣。基本上,MS需要window.onload才能在init阶段完成之后才能启动。但您无法控制浏览器何时触发onload,因为它与“内容加载”有关。这被称为“the window.onload problem”:

onload event fires after all page

content has loaded (including images

and other binary content). If your

page includes lots of images then you

may see a noticeable lag before the

page becomes active.

所以他们只是发明了自己的“特殊”功能,在他们的事件生命周期的正确时间开火,并将其称为“pageLoad”。而他们用来启动这个自定义事件生命周期的技巧是place the call to Sys.Application.initialize() just before the closing tag.服务器端运行时这样做。精明的读者会注意到,这个技巧允许MS解决window.onload问题,因为你放入pageLoad的任何代码将独立于二进制内容(w/ one rare catch for IE)。

>他们的行为是一样的吗?

在概念上是的,实际上根本不是因为说window.onload的问题。唯一的规则是,您应该只在pageLoad中放置与AJAX控件进行交互的代码,因为window.onload遵循自己的事件轨迹。

>还是一个叫另一个?

他们完全是100%独立。

>还是会自动调用另一个?

如果你定义它们,它们将被调用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值