我正在尝试在我的 asp.net webforms 应用程序上使用加载器。我的 javascript 加载器:
function loading() {
$("#loading").show();
}
function loaded() {
$("#loading").hide();
}
html加载器
<div id="loading">
<span id="MessageLoader">Loading...</span>
<img id="imgLoading" src="../Skin/images/blue-ajax-loader.gif" />
</div>
这不是问题,每次我尝试它都可以正常工作,我的问题是如何为每个请求使用这个加载器?我尝试通过两种方式使用它:首先将加载程序调用放在每个链接中,并在我加载每个页面正文 onload 事件时取消调用它,它工作正常,但是当我点击打开新选项卡、新窗口或下载某些文件的链接时我的加载程序永远不会完成,请参见下面的代码:
$('a').click(function () {
if ($(this).attr('href') != '#'){
loading();
}
}
其次,我使用了我的页面拥有的一个资源:我系统上的每个页面在代码隐藏中都与另一个页面有继承关系,因此在父页面加载中我将这段代码放在下面:
ScriptManager.RegisterOnSubmitStatement(this, this.GetType(), "myscript", "loading();");
它比上一个效果更好,它仍然使用页面正文 onload 事件来关闭加载器,但仍然存在一个问题,当我提交尝试下载文件时它不会在页面上进行回发,所以它不会把我的装载机下来。那么,我能做些什么呢?我搜索了诸如提交完整事件之类的东西,但没有成功。我的想法是将提交完成事件放在父页面上,但我需要知道该事件。如果您想给我另一个想法,我将不胜感激。