SCR14: A nem kritikus riasztások választhatóvá tétele a szkriptek segítségével
Alkalmazás
Szkript technológiák, amelyek szkript riasztásokat használnak a nem vészhelyzeti kommunikációhoz.
Ez a technika az alábbiakra vonatkozik:
Leírás
A technika célja egy párbeszédablak (riasztás) megjelenítése a felhasználó felé. A riasztás megjelenésekor automatikusan fókuszba kerül, amelyet a felhasználó csak az OK gomb megnyomásával tüntethet el. A riasztások okozta fókuszváltozás megzavarhatja a felhasználót, különösen akkor, ha a riasztás nem kritikus információt jelenít meg. Az olyan nem kritikus riasztások, mint például a nap idézete, hasznos tipp, vagy egy várható eseménnyel kapcsolatos visszaszámlálás, nem jelennek meg a képernyőn, hacsak a felhasználó nem engedélyezi azt.
Ez a technika egy globális JavaScripttel szabályozza a felhasználó riasztásokkal kapcsolatos beállításait. Az alapértelmezett érték hamis. A csomagoló funkció ellenőrzi a szabályozó értékét, mielőtt megjelenne a riasztás. A riasztás megjelenítésére vonatkozó utasítás először a csomagoló funkcióhoz érkezik be és közvetlenül nem a riasztást aktiválja. Az oldal elején egy gomb található, amellyel a felhasználó a lapon lévő riasztásokat aktiválhatja. A technika látogatás alapon működik. Az oldal minden egyes letöltésekor a riasztások passzív módba kerülnek és a felhasználónak kell aktiválnia őket. A szerkesztő a beállítások tárolására cookie-kat is használhat.
Példák
1. példa
Az alábbi szkript tíz másodperceként jelenít meg egy idézetet, ha a felhasználó a "Riasztások bekapcsolása" gombot választja. A felhasználó ki is kapcsolhatja az idézeteket a "Riasztások kikapcsolása" gombbal.
Példa kód:
<script type="text/javascript">
var bDoAlerts = false; // global variable which specifies whether to
// display alerts or not
/* function to enable/disable alerts.
* param boolean bOn - true to enable alerts, false to disable them.
*/
function modifyAlerts(isEnabled) {
bDoAlerts = isEnabled;
}
/* wrapper function for displaying alerts. Checks the value of bDoAlerts
*and only calls the alert() function when bDoAlerts is true.
*/
function doAlert(aMessage) {
if (bDoAlerts) {
alert(aMessage);
}
}
// example usage - a loop to display famous quotes.
var gCounter = -1; // global to store counter
// quotes variable would be initialized with famous quotations
var quotes = new Array("quote 1", "quote 2", "quote 3", "quote 4", "quote 5");
function showQuotes() {
if (++gCounter >= quotes.length) {
gCounter = 0;
}
doAlert(quotes[gCounter]);
setTimeout("showQuotes();", 10000);
}
showQuotes();
</script>
Az oldal body elemében megtalálható a riasztások be-és kikapcsolásának módja. A következőkben erre látható egy példa:
Példa kód:
<body>
<p>Press the button below to enable the display of famous quotes
using an alert box<br />
<button id="enableBtn" type="button" onclick="modifyAlerts(true);">
Turn Alerts On</button><br />
<button id="disableBtn" type="button" onclick="modifyAlerts(false);">
Turn Alerts Off</button></p>
A Demonstration of Alerts.című részben a kód működő példája található.
Ellenőrzések
Folyamat
Egy olyan weblap esetében, amely támogatja a JavaScript alapon működő nem kritikus riasztásokat:
-
Töltse be a weboldalt és engedélyezze a nem kritikus riasztások megjelenését.
-
Ellenőrizze, hogy létezik-e a nem kritikus riasztásokat aktiváló mechanizmus.
-
Aktiválja a nem kritikus riasztásokat és ellenőrizze, hogy megjelennek-e.
Elvárható eredmények
-
Olyan weblapok esetében, amelyek JavaScript alapú riasztásokat alkalmaznak, az 1. 2. és 3. pontok igazak.