gpt4 book ai didi

javascript - 每次加载页面时运行 javascript

转载 作者:行者123 更新时间:2023-11-30 00:03:15 25 4
gpt4 key购买 nike

在我的网络应用程序中,我有一个包含加载栏的模式弹出窗口。我让这个出现在任何我知道需要几秒钟才能执行的命令、按钮单击等上。

除了一个复杂问题外,它目前工作正常,它运行的内部 Web 服务器非常糟糕,并且根据用户数量,在导航到页面等简单任务时可能会变慢。

我怎样才能让加载模式在每次页面考虑做某事时出现,而不必针对每个可能的场景进行硬编码?

我的 Web 应用程序使用包含模态代码的母版页。

谢谢

脚本

function ShowLoading() {
$('#modalLoading').modal({ backdrop: 'static', keyboard: false, show: true });
}

function HideLoading() {
$('#modalLoading').modal('hide');
}

ASPX

<div id="modalLoading" class="modal fade" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-body">
<h2>
Please Wait...</h2>
<div class="progress">
<div class="progress-bar progress-bar-striped active" role="progressbar" style="width: 100%">
</div>
</div>
</div>
</div>
</div>
</div>

C# 类

public void loadingAlert()
{
var page = HttpContext.Current.CurrentHandler as Page;
page.ClientScript.RegisterStartupScript(this.GetType(), "alert", "$(function () { ShowLoading(); });", true);
}

最佳答案

在您的 javascript 中设置一个 BeginRequestHandler 和一个 EndRequestHandler,如下所示:

$(document).ready(function () {
Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler);
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
});

function BeginRequestHandler(sender, args) {
var postBackId = args._postBackElement.id;

// Here you can add some exceptions if you want
if (postBackId != "control_exception_1" && postBackId != "control_exception_2") {
ShowLoading();
}
}

function EndRequestHandler(sender, args) {
HideLoading();
}

最小的 ASP.NET 控件:一个 form runat 服务器,一个 ScriptManager 和一个 UpdatePanel。您可以选择将 UpdatePanelUpdateMode 设置为 Conditional(在 Triggers 中设置触发 UpdatePanel 的控件的 id code>) 或 Always(您可以删除 Triggers 元素)。

<form id="form" runat="server">
<asp:ScriptManager ID="scriptManager" runat="server"></asp:ScriptManager>

<asp:UpdatePanel ID="updatePanel" UpdateMode="Conditional" runat="server">
<ContentTemplate>
<%-- Your elements --%>
<%-- Your buttons --%>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="btn_id" />
</Triggers>
</asp:UpdatePanel>
</form>

关于javascript - 每次加载页面时运行 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39467060/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com