這是一個在作業系統裡比較常見的功能,但在web裡實作,有哪些需要注意的呢?
1、如何真正的實作鎖屏?
2、如何避免通過技術手段繞過鎖屏?
我個人總結出2點需要特别注意的地方,下面就分别進行分析。
第一點,“如何真正的實作鎖屏”,浏覽器有個特性,就是可以多開視窗(或tab标簽頁),這就意味着單純的靠js和css進行html對象的操作,實作隐藏是不夠的,因為如果使用者依舊處于登入狀态,其他人隻需重新開個頁面,或者重新整理一下,就又變回未鎖屏狀态了。是以,第一點的解決辦法就是,前端通過js和css進行html對象操作的同時,後端需要将目前使用者登出,這樣使用者就處于登出狀态了,并且通過鎖屏界面解鎖登入後,是可以繼續之前的操作的。
第二點,“如何避免通過技術手段繞過鎖屏”,如果上一點已經解決,那他人已經無法通過重新整理或重新打開視窗繞過鎖屏,但還有一種方法,就是通過浏覽器自帶的一些調試工具,比如chrome的“開發者工具”,firefox的“firebug”,這些可以動态的修改對象元素,做前端開發的一定不陌生。要避免這一問題,解決辦法就是在鎖屏的時候,建立一個函數實時進行指定對象的檢測,檢測的名額有,對象是否存在,是否處于隐藏狀态,位置是否有變動等。
針對第二點,我做了一個簡單的demo,大家可以玩玩,當點選“開啟鎖屏”後,在不點選“退出鎖屏”按鈕,嘗試使用浏覽器的開發者工具,讓“開啟鎖屏”界面重制出來。
本文轉自胡尐睿丶部落格園部落格,原文連結:http://www.cnblogs.com/hooray/p/3489057.html,如需轉載請自行聯系原作者