SCR16: Az időkorlát lejártára figyelmeztető szkript alkalmazása
Alkalmazás
Szkripttel szabályozott időkorlát.
Ez a technika az alábbiakra vonatkozik:
Leírás
A technika célja az, hogy figyelmeztesse a felhasználót az adott feladatra szánt idő végének közeledtéről. Abban az esetben, ha a szkript időkorlátos funkcióval rendelkezik, akkor a szkriptnek az idő lejárta előtt figyelmeztetnie kell a felhasználót és lehetőséget kell adnia az időkorlát kiterjesztésére. A szkriptnek legalább 20 másodperccel az időkorlát lejárta előtt egy párbeszédablakban jeleznie kell az idő lejártát és meg kell kérdeznie a felhasználót, hogy szüksége van-e több időre. Abban az esetben, ha a felhasználó "igen"-el válaszol, az időkorlát törlésre kerül. Nemleges válasz esetén, vagy válasz hiányában, az időkorlát lejár.
Ennek a technikának a keretében az időkorlát a
window.setTimeout()
módszerrel kerül
beállításra. Abban az esetben, ha az időkorlát 60
másodpercben kerül meghatározásra, a szerkesztő
beállíthat 40 másodpercet, amelyet egy párbeszédablak
jelez. A párbeszéd ablak megjelenésekor a maradék 20
másodpercre egy új időkorlát kerül meghatározásra. Az
időkorlát türelmi idejének lejártakor bekövetkezik az
eredetileg beállított 60 másodperc végére tervezett
esemény.
Példák
1. példa
Egy tőzsdei lap, a legújabb statisztikák megjelenítése céljából, minden ötödik percben szkriptek segítségével frissíti a megjelenített adatokat. Húsz másodperccel az öt perces időkorlát lejárta előtt egy párbeszédablakban a felhasználó további időszükségletére irányuló kérdés jelenik meg. Ezáltal a felhasználó értesítést kap a küszöbön álló frissítésről és szükség esetén elkerülheti azt.
Példa kód:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"<url>http://www.w3.org/TR/html4/loose.dtd">http://www.w3.org/TR/html4/loose.dtd</title>">
<html lang="en">
<head>
<title>Stock Market Quotes</title>
<script type="text/javascript">
<!--
function timeControl() {
// set timer for 4 min 40 sec, then ask user to confirm.
setTimeout('userCheck()', 280000);
}
function userCheck() {
// set page refresh for 20 sec
var id=setTimeout('pageReload()', 20000);
// If user selects "OK" the timer is reset
// else the page will refresh from the server.
if (confirm("This page is set to refresh in 20 seconds.
Would you like more time?"))
{
clearTimeout(id);
timeControl();
}
}
function pageReload() {
window.location.reload(true);
}
timeControl();
-->
</script>
</head>
<body>
<h1>Stock Market Quotes</h1>
...etc...
</body>
</html>
Kapcsolódó technikák
Ellenőrzések
Folyamat
Egy szkripttel szabályozott időkorláttal rendelkező weboldal esetén:
- Töltse le a lapot és indítson el egy időzítőt,
amely 20 másodperccel rövidebb az
időkorlátnál.
- Az időzítő lejártakor ellenőrizze az idő lejártára figyelmeztető párbeszédablak megjelenését.
Elvárható eredmények
- A 2. pont igaz.