→ koalahsu:感謝回應..會試試看的 02/17 20:54
※ 引述《koalahsu (ASUS)》之銘言:
: 請問有沒有辦法可以鎖定網頁
: 因為寫php程式慢的關係
: 不會很快跑出結果
: 如果使用者在執行時
: 等不耐煩時有可能會去點其他的連結
: 請問有沒有方法可以將網頁鎖定沒有辦法讓使用者動作
: 直到網頁執行完畢
: 或是有沒有什麼其他的建議可以解決
: 要php頁面快到不用等好好不太可能= =
把所有的 link 都加上 onclick 事件
<a href="....." onclick="return not_busying">;
另外加上 javascipt 在 <head></head> 中間
<script language='javascript' type='text/javascript'>
var not_busying = true; // 意思是在 load body 前做全域變數宣告
</script>
然後在你跑 php 程式的部份去控制 not_busying,
如果只是一個連結,把這個連結加上
onclick="if(not_busying) not_busying=false; else return return not_buysing;",
在第一次點選後把 not_busying 設成 false,如果一直點,之後的點擊都沒有作用
執行完之後,等頁面 reload,那 not_busying 自然會重新設成 true,
或是你是用其它 frame, ajax 來接收php 執行結果,一樣在執行前把
not_busying 設成 false,再看要怎麼在接收完成後用 js 把 not_busying 改回 true,
讓所有的連結可以重新正常點擊。
或是更複雜一點可以把 <a href .... > 的 onclick 事件改成 return 一個函式的
傳回值,函式先檢查 not_busying 的值,如果 not_busying = false ,
就 alert 跳出視窗,告訴使用者目前正在忙碌之類的訊息,再傳回 false。
反之則傳回 true。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.80.129.50