Scripting-Techniken, die Scripting-Warnmeldungen für eine nicht-notfallmäßige Kommunikation benutzen.
Die Technik bezieht sich auf:
Das Ziel dieser Technik ist es, dem Benutzer einen Dialog anzuzeigen, der eine Nachricht (Warnmeldung) enthält. Wenn die Warnmeldung angezeigt wird, erhält sie den Fokus und der Benutzer muss die OK-Schaltfläche in dem Dialog aktivieren, um sie auszublenden. Da diese Warnmeldungen dazu führen, dass sich der Fokus ändert, können sie den Benutzer verwirren, besonders wenn sie für nicht-notfallmäßige Informationen benutzt werden. Warnmeldungen für nicht-notfallmäßige Zwecke wie zum Beispiel die Anzeige des Zitats des Tages, hilfreiche Anwendungstipps, oder der Countdown zu einem besonderen Ereignis, werden nicht angezeigt, außer der Benutzer aktiviert sie durch eine Option, die auf der Webseite zur Verfügung gestellt wird.
Diese Technik weist eine globale JavaScript-Variable zu, um die Vorlieben des Benutzer zur Anzeige von Warnmeldungen zu speichern. Der Standardwert ist ‚false‘. Es wird eine wrapper-Funktion erstellt, um den Wert dieser Variable vor der Anzeige einer Warnmeldung zu prüfen. Alle Aufrufe zur Anzeige einer Warnmeldung werden an diese wrapper-Funktion gerichtet, statt die alert()-Funktion direkt aufzurufen. Früh auf der Seite wird dem Benutzer eine Schaltfläche zur Verfügung gestellt, um die Anzeige von Warnmeldungen auf der Seite freizuschalten. Diese Technik funktioniert auf einer pro-Besuch-Basis. Jedes Mal, wenn die Seite geladen wird, sind die Warnmeldungen deaktiviert und der Benutzer muss sie von Hand aktivieren. Alternativ könnte der Autor Cookies benutzen, um die Vorlieben des Benutzer über die Sitzungen hinweg zu speichern.
Das unten stehende Skript zeigt alle zehn Sekunden ein Zitat in einer Warnmeldungsbox an, wenn der Benutzer die Schaltfläche „Warnmeldungen anstellen“ („Turn Alerts On“) auswählt. Der Benutzer kann die Zitate wieder abstellen, indem er „Warnmeldungen ausstellen“ („Turn Alerts Off“) wählt.
Code-Beispiel:
<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>
Bieten Sie innerhalb des Body der Seite eine Möglichkeit, die Warnmeldungen an- und auszuschalten. Unten sehen Sie ein Beispiel:
Code-Beispiel:
<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>
Hier ist ein funktionierendes Beispiel dieses Codes: Demonstration of Alerts (Demonstration von Warnmeldungen).
Für eine Webseite, die nicht-notfallmäßige Unterbrechungen durch die Benutzung einer JavaScript-Warnmeldung unterstützt:
Laden Sie die Webseite und verifizieren Sie, dass keine nicht-notfallmäßigen Warnmeldungen angezeigt werden.
Verifizieren Sie, dass es einen Mechanismus gibt, um die nicht-notfallmäßigen Warnmeldungen zu aktivieren.
Aktivieren Sie die nicht-notfallmäßigen Warnmeldungen und verifizieren Sie, dass die Warnmeldungen angezeigt werden.
Für eine Webseite, die nicht-notfallmäßige Unterbrechungen durch die Benutzung einer JavaScript-Warnmeldung unterstützt, sind die oben stehenden Tests 1, 2 und 3 wahr.
Wenn dies eine ausreichende Technik für ein Erfolgskriterium ist, dann bedeutet das Scheitern an diesem Testverfahren nicht zwangsläufig, dass das Erfolgskriterium nicht auf irgendeine andere Art und Weise erfüllt wurde, sondern nur, diese Technik nicht erfolgreich implementiert wurde und nicht benutzt werden kann, um die Konformität zu erklären.