我正在查看一个我正在维护(但不是编写)的 asp.net 2 Web 应用程序。
页面加载时应该发生的一些事情不会发生,但只是有时,如果您在虚拟机内使用 Firefox 3,则似乎会发生。使用JQuery和asp.net Ajax。
每次都应该运行(但没有)的重要函数由以下 Javascript 附加:
<script type="text/javascript">
//<![CDATA[
$(document).ready(function(){ Sys.Application.add_load(ImportantFunction); });
$(document).ready(function(){ Otherstuff(); });
$(document).ready(function(){ MoreStuff(); });
//]]>
</script>
但是如果我使用firebug在ImportantFunction()中设置断点,则在firefox 3中的页面加载时不会命中它,但在ajax更新时会命中它。
在该页面中,有多个对 $(document).ready 的调用,因为它们来自其背后的 asp.net 代码的不同部分。是的,它们都会执行。
最佳答案
有什么原因不能使用 ASP.NET AJAX pageLoad 函数而不是 $(document).ready() 吗?
function pageLoad(sender, args)
{
ImportantFunction();
OtherStuff();
MoreStuff();
}
这是 ASP.NET AJAX 客户端页面生命周期的一部分,其中的所有 JavaScript 代码都将在每次页面加载时执行,包括异步回发。
关于Javascript 函数应该在每个页面加载时运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/416363/