1. Anwendungsszenarien Es gibt eine solche Anforderung, daher wurde ein System entwickelt. Wenn der Benutzer den Desktop verlässt oder für einen bestimmten Zeitraum nicht arbeitet, müssen alle geöffneten Seiten des Systems gesperrt werden, genau wie der Sperrbildschirm des Desktops. Erst nach erfolgreicher Eingabe des Passworts zur Überprüfung oder erneuter Anmeldung kann die Seite weiter bedient werden. Wenn die Seite aktualisiert wird, muss sie gesperrt bleiben. Genau wie auf dem Bild unten. Natürlich können Nutzer den Sperrbildschirm auch manuell auslösen. Ziel ist es, den willkürlichen Zugriff Dritter auf wichtige Inhalte des Systems zu verhindern. Wie also erreichen wir das? Der Effekt des 5s-Sperrbildschirms ist wie folgt: 2. Ideen
Es ist etwas verwirrend und muss geklärt werden. 3. Code-Implementierung Der folgende Code ist unvollständig, die HTML-Struktur fehlt und Sie können ihn frei verwenden. // app.vue Daten () { zurückkehren { Zeitüberschreitung: 5000, Timer: null, isLock: 'false' } }, montiert () { dieser.timer = setzeTimeout(dieses.lockPro, dieses.timeOut) // Stellen Sie die Vorgangszeit zum ersten Mal ein localStorage.setItem('moveTime', Date.now()) //Erster Beurteilungsstatus this.modalStatus() // Poll-Überwachungsstatus setInterval(this.modalStatus, 1000) // Auf Mausereignisse warten this.events() }, Methoden:{ Ereignisse() { fenster.onmousemove = () => { // console.log('Die Maus hat sich bewegt') wenn (!this.isLock) { localStorage.setItem('Verschiebezeit', Date.now()) this.clearLocaPro('weiter') } } }, modalStatus() { wenn (localStorage.getItem('isLock') === 'true') { // console.log('Bildschirm gesperrt') this.isLock = true dies.clearLocaPro() } anders { // console.log('Der Bildschirm ist derzeit nicht gesperrt') this.isLock = false this.clearLocaPro('weiter') } }, lockPro() { wenn (!dieses.timeOut) { localStorage.setItem('istLock', 'false') this.clearLocaPro('weiter') zurückkehren } wenn (Date.now() - localStorage.getItem('moveTime') < this.timeOut) { localStorage.setItem('istLock', 'false') this.clearLocaPro('weiter') } anders { localStorage.setItem('istLock', 'wahr') dies.clearLocaPro() } }, clearLocaPro(status) { wenn(dieser.timer){ Zeitüberschreitung löschen(dieser.Timer) } wenn (Status === 'weiter') { dieser.timer = setzeTimeout(dieses.lockPro, dieses.timeOut) } }, // Manuelle Sperre handleLock(){ dies.clearLocaPro() localStorage.setItem('istLock', 'wahr') }, // Passwort entsperren unlock(){ localStorage.removeItem('isLock') localStorage.setItem('Verschiebezeit', Date.now()) this.clearLocaPro('weiter') }, ... // Vergessen Sie nicht, isLock beim Abmelden zu löschen } Dies ist das Ende dieses Artikels über die Implementierung einer automatischen Bildschirmsperre mit js. Weitere Informationen zur automatischen Bildschirmsperre mit js finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
<<: MySQL SQL-Anweisung zum Suchen doppelter Daten basierend auf einem oder mehreren Feldern
>>: So installieren Sie Golang unter Linux
Vorwort Meine Anforderungen sind Syntaxhervorhebu...
zählen(*) erreichen 1. MyISAM: Speichert die Gesa...
Inhaltsverzeichnis MySQL-Client/Server-Protokoll ...
Ich habe zuvor die Verwendung des asynchronen Lad...
Wenn die erstellte Registerkartenbeschriftung den...
Shopify Plus ist die Enterprise-Version der von u...
1. Zwei Wörter am Anfang Hallo zusammen, mein Nam...
Inhaltsverzeichnis Neuen Benutzer anlegen Neue Be...
HTML-Bild erzeugt nach dem Hinzufügen eines Hyper...
Inhaltsverzeichnis Vorwort 1. Binärer Baum 1.1. D...
Inhaltsverzeichnis 1. Warenkorb-Beispiel 2. Code-...
MySQL-Group-Replication ist eine neue Funktion, d...
In diesem Artikel finden Sie den spezifischen Cod...
1. Warum verpacken? Erleichtert das Aufrufen von ...
In diesem Artikelbeispiel wird der spezifische Co...