web桌面程式之鎖屏功能分析

橘子紅了吶發表於2017-11-13

 這是一個在作業系統裡比較常見的功能,但在web裡實現,有哪些需要注意的呢?

  1、如何真正的實現鎖屏?

  2、如何避免通過技術手段繞過鎖屏?

  我個人總結出2點需要特別注意的地方,下面就分別進行分析。

  第一點,“如何真正的實現鎖屏”,瀏覽器有個特性,就是可以多開視窗(或tab標籤頁),這就意味著單純的靠js和css進行html物件的操作,實現隱藏是不夠的,因為如果使用者依舊處於登入狀態,其他人只需重新開個頁面,或者重新整理一下,就又變回未鎖屏狀態了。所以,第一點的解決辦法就是,前端通過js和css進行html物件操作的同時,後端需要將當前使用者登出,這樣使用者就處於登出狀態了,並且通過鎖屏介面解鎖登入後,是可以繼續之前的操作的。

  第二點,“如何避免通過技術手段繞過鎖屏”,如果上一點已經解決,那他人已經無法通過重新整理或重新開啟視窗繞過鎖屏,但還有一種方法,就是通過瀏覽器自帶的一些除錯工具,比如chrome的“開發者工具”,firefox的“firebug”,這些可以動態的修改物件元素,做前端開發的一定不陌生。要避免這一問題,解決辦法就是在鎖屏的時候,建立一個函式實時進行指定物件的檢測,檢測的指標有,物件是否存在,是否處於隱藏狀態,位置是否有變動等。

  針對第二點,我做了一個簡單的demo,大家可以玩玩,當點選“開啟鎖屏”後,在不點選“退出鎖屏”按鈕,嘗試使用瀏覽器的開發者工具,讓“開啟鎖屏”介面重現出來。

    本文轉自胡尐睿丶部落格園部落格,原文連結:http://www.cnblogs.com/hooray/p/3489057.html,如需轉載請自行聯絡原作者


相關文章