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
Ich habe auf Baidu gesucht. . Manche Leute sagen,...
Einstellungen für Hintergrundfarbe und Transparen...
1. Dreieck Rahmeneinstellungen Code: Breite: 300p...
Inhaltsverzeichnis Tutorial-Reihe 1. Einführung i...
1|0 Hintergrund Aufgrund von Projektanforderungen...
Vorwort Ich habe mir die zuvor veröffentlichten A...
Wie können wir den Fehler lokalisieren, wenn im S...
Für viele inländische Werbetreibende ist die Erste...
Inhaltsverzeichnis Vorwort Hauptimplementierungsc...
Vorwort Während des Entwicklungsprozesses werden ...
1. Hintergrund 1. Stellen Sie kurz den Shared Sto...
So zentrieren Sie ein Element im Browserfenster H...
Ich habe ein Dockerfile für OpenResty auf CentOS7...
Inhaltsverzeichnis benutzerdefinierte Vue-Direkti...
Das Popup hat nichts damit zu tun, ob Ihr aktuelle...