waitting page 順序問題

edited 十月 2013 in Javascript
各位好! 我設計了一個掃描無線網路的頁面,由於埽描AP時需要等待,所以我寫了一個waiting page,我的想法如下:
1. 使用者按下"scan" 按鈕
2. 秀出 waitting page
3. 透過CGI執行 iwlist
4. 將scan結果show在新的頁面

可是目前我的程式卻是變成: 1 -> 3 -> 2 -> 4
一定要將CGI的結果回傳到web page才會秀出waitting page,可是如此一來waitting page就變的一點意義也沒有。請各位給我ㄧ些建議,謝謝。

以下是我程式的片段:

<body onload="doCountdown(4000);"> <!-- show waitting page的秒數 -->
<form name="wireless">
<div id="wait_div" style="z-index:30;position:absolute;display:block">
<script>show_waiting();</script> <!-- show waitting page -->
</div>
<table class=viewList style='margin:0px;width:100%'>
<tr>
<th width="200" colspan=2 align=center>SSID</td>
<th width="150">BSSID(MAC Address)</td>
<th width="50">*Topo</td>
<th width="50">Mode</td>
<th width="60">Channel</td>
<th width="60">Authentication</td>
<th width="60">Encryption</td>
<th width="60">Strength%</td>
</tr>
<%neighbor_value("sitesurvey");%> <!-- 透過CGI將scan 的結果取出 -->
</table>

function show_waiting()
{
screen_width = 820;
screen_height = 680;
def_width = 550;
def_height = 400;
zoom = 1/3;
width = def_width*zoom;
height = def_height*zoom;

FlashReplace.replace("wait_div", "/flash/wait01.swf", "wait_div_obj", width, height,
7,
{
wmode : "transparent",
quality: "high",
bgcolor: "#ffffff"
}
);
getElement("wait_div").style.position = "absolute";
getElement("wait_div").style.left = (screen_width-width)/2;
getElement("wait_div").style.top = (screen_height-height)/2;
}

function doCountdown(time)
{
var interval = 1000; // millisec

// todo: time will be count down

if ( time==0 ) { // todo: time out
var obj = getElement('wait_div');
obj.style.display = 'none';
obj = getElement('wireless_table');
obj.style.display = 'block';

return;
}

xx=setTimeout('doCountdown(' + (time-=1000) + ')', interval);
}

此外,在CGI的部分我是使用C語言寫的,其中在執行neighbor_value("sitesurvey"); 時我部分的程式碼如下:
system("iwlist wlan0 scan > scan_result.ini");
我使用iwlist然後將結果導到另外一個檔案,然後去parsing 檔案的內容,之後將結果回傳。

我目前的問題是一定要等到iwlist的結果出來才會show waitting page,我想先show waitting page然後才將結果show 出,請問各位我的作法上哪裡有問題? 可以給我ㄧ些建議嗎? 感激不盡。


原始討論: http://twpug.net/x/modules/newbb/viewtopic.php?topic_id=5885

評論

  • edited 四月 2011
    "透過CGI將scan 的結果取出" 這個操作可以將它移到獨立頁面,透過 AJAX 手法,在載入網頁時以非同步方式取得 CGI 執行結果,取得過程秀出 waitting page
Sign In or Register to comment.