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
Benutzer- und Gruppenverwaltung 1. Grundlegende K...
Inhaltsverzeichnis 1. Realistischer Hintergrund 2...
Der Browser zeigt Bilder im TIF-Format an Code kop...
1. Festplattenpartition: 2. fdisk-Partition Wenn ...
.NET SDK-Download-Link https://dotnet.microsoft.c...
Textkürzung mit CSS Beachten Sie den folgenden Co...
Vorwort Ich muss dem Markodwn-Editor, den ich ger...
In diesem Artikelbeispiel wird der spezifische Co...
Lassen Sie uns Nginx installieren und ausprobiere...
Dies ist das erste Mal, dass ich das CentOS7-Syst...
Ausführen des Skripts im Debugmodus Sie können da...
Noscript-Definition und -Verwendung Das Noscript-...
Verwenden Sie HTML-Farbblöcke, um Daten dynamisch...
Ich habe im LOFTER-Wettbewerb gesehen, dass erwähn...
Hintergrund: Da die Projekte des Unternehmens dem...