惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

F
Fortinet All Blogs
云风的 BLOG
云风的 BLOG
M
MIT News - Artificial intelligence
WordPress大学
WordPress大学
T
Tailwind CSS Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
S
Secure Thoughts
博客园 - 【当耐特】
Know Your Adversary
Know Your Adversary
NISL@THU
NISL@THU
博客园 - 司徒正美
Last Week in AI
Last Week in AI
C
Cybersecurity and Infrastructure Security Agency CISA
P
Privacy & Cybersecurity Law Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
B
Blog
The GitHub Blog
The GitHub Blog
小众软件
小众软件
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Spread Privacy
Spread Privacy
Martin Fowler
Martin Fowler
博客园 - 叶小钗
Security Archives - TechRepublic
Security Archives - TechRepublic
T
Tenable Blog
S
Securelist
博客园 - 三生石上(FineUI控件)
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Microsoft Security Blog
Microsoft Security Blog
Apple Machine Learning Research
Apple Machine Learning Research
罗磊的独立博客
T
Threat Research - Cisco Blogs
Application and Cybersecurity Blog
Application and Cybersecurity Blog
F
Full Disclosure
Cloudbric
Cloudbric
The Cloudflare Blog
Y
Y Combinator Blog
Hugging Face - Blog
Hugging Face - Blog
Microsoft Azure Blog
Microsoft Azure Blog
H
Hacker News: Front Page
腾讯CDC
L
Lohrmann on Cybersecurity
C
CERT Recently Published Vulnerability Notes
V2EX - 技术
V2EX - 技术
GbyAI
GbyAI
TaoSecurity Blog
TaoSecurity Blog
I
Intezer
The Last Watchdog
The Last Watchdog
G
GRAHAM CLULEY
Google Online Security Blog
Google Online Security Blog
T
The Blog of Author Tim Ferriss

博客园 - 冷风.net

以OO的思想利用JS來實現五子棋 開放幾個原來寫的js代碼,供大家娛樂一下 使用JS寫的第一個游戲[俄羅斯方塊] 假如現在讓你去說服客戶使用asp.net2.0開發系統,你會怎麼說服呢? 對象化javascript日期控件 - 冷风.net - 博客园 工作排程 防止圖片在WEB頁面上下載 - 冷风.net - 博客园 今天從新整理的大小寫數據轉換 - 冷风.net - 博客园 常用的XPATH說明 XmlHttp在DoNet中的完全应用---前/后台完成分离篇 系统用户权限与角色分析 学习设计模式之Composite 模式 学习设计模式之Bridge模式 学习设计模式之生成器(Builder Pattern)模式 再谈Abstract Factory模式来实现数据库操作的类 Factory Method来实现数据库操作的类 不周表結構合併問題 今天下午困惑的問題,終於TMD搞出來了 利用線程實現錠時執行的運行模型
改進Richer的WEB頁面進度條!
冷风.net · 2005-03-08 · via 博客园 - 冷风.net

昨天看了Richer上传的关于WEB页面加载时显示的进度条,但加载的数据与进度条并没有同步,而是当数据状态完成后再加载数据的,因此对其改进了下,使加载的数据与进度条几乎同步了。

却点:加重服务器的重担


1。新建一下HTML页面来显示进度条

<script language="javascript">
function setPgb(pgbID, pgbValue) 
{  
    
var tab = document.getElementById( "tabShow" );
    tab.style.cursor
="wait";
    
if ( pgbValue <= 100 )
    
{
        
if (lblObj = document.getElementById(pgbID+'_label'))
        
{
            lblObj.innerHTML 
= pgbValue + '%'; // change the label value
        }

            
        
if ( pgbObj = document.getElementById(pgbID) )
        
{
            
var divChild = pgbObj.children[0];
            pgbObj.children[
0].style.width = pgbValue + "%";
        }

        window.status 
= "數據讀取" + pgbValue + "%請稍後";
    }

    
    
if ( pgbValue == 100 )
        window.status 
= "數據讀取已經完成.";
  
}

function onLoadOver()
{
    
var tab = document.getElementById( "tabShow" );
    tab.style.display 
= "none";
    tab.style.cursor
="auto";
    window.status 
= "數據讀取已經完成.";
}

</script>
<style>
    .bi-loading-status 
{ PADDING-RIGHT: 1px; PADDING-LEFT: 1px; PADDING-BOTTOM: 1px; OVERFLOW: hidden; WIDTH: 150px; PADDING-TOP: 1px }
    .bi-loading-status .text 
{ PADDING-RIGHT: 1px; PADDING-LEFT: 1px; PADDING-BOTTOM: 1px; OVERFLOW: hidden; WIDTH: 100%; PADDING-TOP: 1px; WHITE-SPACE: nowrap; TEXT-OVERFLOW: ellipsis }
    .bi-loading-status .progress-bar 
{ BORDER-RIGHT: buttonshadow 1px solid; PADDING-RIGHT: 1px; BORDER-TOP: buttonshadow 1px solid; PADDING-LEFT: 1px; BACKGROUND: window; PADDING-BOTTOM: 1px; OVERFLOW: hidden; BORDER-LEFT: buttonshadow 1px solid; WIDTH: 100%; PADDING-TOP: 1px; BORDER-BOTTOM: buttonshadow 1px solid; HEIGHT: 10px }
    .bi-loading-status .progress-bar DIV 
{ BACKGROUND: highlight; FILTER: Alpha(Opacity=0, FinishOpacity=100, Style=1, StartX=0, StartY=0, FinishX=100, FinishY=0); OVERFLOW: hidden; HEIGHT: 100% }
</style>
<html>
    
<body topmargin="0" leftmargin="0">
        
<div id="tabShow">
        
<table width="200" height="40" style="Z-INDEX: 100; POSITION: absolute;top:expression((document.body.clientHeight-190)/2);left:expression((document.body.clientWidth-200)/2);" bgColor="buttonface" border="1">
            
<tr>
                
<td align="center" valign="middle">
                    
<DIV class="bi-loading-status" id="proBar" style="DISPLAY: ; LEFT: 425px; TOP: 278px">
                        
<DIV class="text" id="pgbMain_label" align="left"></DIV>
                        
<DIV class="progress-bar" id="pgbMain" align="left">
                            
<DIV STYLE="WIDTH:10%"></DIV>
                        
</DIV>
                    
</DIV>
                
</td>
            
</tr>
        
</table>
        
</div>
    
</body>
</html>

2。 再看看要显示进度条页面的aspx.cs文件

private void Page_Load(object sender, System.EventArgs e)
        
{
            ShowBar(
100); ///在頁面加載開始時就顯示進度條;100為估計的頁面延時間,可跟踞頁面加載時間適當調整

            
//以下為測試數據
            for(int i=0;i<1000000;i++)
            
{
                
for(int j=0;j<10000;j++){}
            }

            DataSet ds 
= new DataSet();
            ds.ReadXml(Server.MapPath(
"./Tmp.xml"));
            DataGrid1.DataSource 
= ds.Tables["Users"];
            DataGrid1.DataBind();
        }


        
這裡可放到Page的繼承類中去,再將本頁面繼承自該類

重点在于ShowBar(100);,只要这里的100跟踞页面估计的加载时间适当调整就可以保证状态与数据同步了