在客户端浏览器中显示进度条来显示页面正在装载

 对于加载时间比较长的ASP.NET页面,我们可以在客户端浏览器中显示进度条来显示页面正在装载。下面就是具体的实现过程:
  
  新建项目,名字为WebPortal,在项目类型中选择Visual C#项目或者Visual Basic项目都可;
  在模板类型中选择ASP.NET Web应用程序;
  位置里输入:http://localhost/WebPortal;
  添加新项:名字为ShowProgress的Web窗体。
  在您的Web窗体ShowProgress.aspx上添加任何其他的Web服务器控件。
  在ShowProgress.aspx上单击右键,点“查看代码”,在最上面输入:
  Visual C# .NET代码
  using System.Threading;
  Visual Basic .NET代码
  Imports System.Threading
  在Page_Load事件里输入: Visual C# .NET代码
   Response.Write("<div id='mydiv' >");
  Response.Write("_");
  Response.Write("</div>");
  Response.Write("<script>mydiv.innerText = '';</script>");
  Response.Write("<script language=javascript>;");
  Response.Write("var dots = 0;var dotmax = 10;function ShowWait()");
  Response.Write("{var output; output = '正在装载页面';dots++;if(dots>=dotmax)dots=1;");
  Response.Write("for(var x = 0;x < dots;x++){output += '·';}mydiv.innerText = output;}");
  Response.Write("function StartShowWait(){mydiv.style.visibility = 'visible'; ");
  Response.Write("window.setInterval('ShowWait()',1000);}");
  Response.Write("function HideWait(){mydiv.style.visibility = 'hidden';");
  Response.Write("window.clearInterval();}");
  Response.Write("StartShowWait();</script>");
  Response.Flush();
  Thread.Sleep(10000);Visual Basic .NET代码
   Response.Write("<div id='mydiv' >")
  Response.Write("_")
  Response.Write("</div>")
  Response.Write("<script>mydiv.innerText = '';</script>")
  Response.Write("<script language=javascript>;")
  Response.Write("var dots = 0;var dotmax = 10;function ShowWait()")
  Response.Write("{var output; output = '正在装载页面';dots++;if(dots>=dotmax)dots=1;")
  Response.Write("for(var x = 0;x < dots;x++){output += '·';}mydiv.innerText = output;}")
  Response.Write("function StartShowWait(){mydiv.style.visibility = 'visible'; ")
  Response.Write("window.setInterval('ShowWait()',1000);}")
  Response.Write("function HideWait(){mydiv.style.visibility='hidden';")
  Response.Write("window.clearInterval();}")
  Response.Write("StartShowWait();</script>")
  Response.Flush()
  Thread.Sleep(10000)
  
   在ShowProgress.aspx窗体的html的中输入 <script>
  HideWait();
  </script> 
 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用 Flask 框架来实现将进度条嵌入网页。下面是一个简单的示例代码: ```python from flask import Flask, render_template, jsonify import time app = Flask(__name__) @app.route('/') def index(): return render_template('index.html') @app.route('/progress') def progress(): def generate(): for i in range(101): time.sleep(0.1) yield "data:" + str(i) + "\n\n" return Response(generate(), mimetype='text/event-stream') if __name__ == '__main__': app.run(debug=True) ``` 在这个示例,我们创建了一个 Flask 应用,并定义了两个路由。`/` 路由返回一个模板,其包含了一个进度条的 HTML 和 JavaScript 代码,`/progress` 路由使用 SSE(Server-Sent Events)技术实现了一个简单的进度条,每隔 0.1 秒向客户端发送一个进度值。 下面是 `index.html` 模板的代码: ```html <!DOCTYPE html> <html> <head> <title>Progress Bar Example</title> </head> <body> <div id="progressBar"></div> <script> var source = new EventSource("/progress"); source.onmessage = function(event) { document.getElementById("progressBar").innerHTML = "<div style='width: " + event.data + "%; background-color: green;'>Loading...</div>"; }; </script> </body> </html> ``` 这个模板使用了 JavaScript 来监听 `/progress` 路由发送的进度事件,每次收到事件后更新进度条的宽度。注意事件的数据格式必须是 `data:` 开头,后面跟着一个进度值和两个换行符 `\n\n`。 最后,在命令行运行这个代码,并访问 http://localhost:5000/ 即可看到一个进度条正在不断地加载。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值