[英]Closing bootstrap modal through console
我正在使用Java Servlet和JSP創建網站,我的要求之一是,如果任何匿名用戶嘗試訪問任何需要身份驗證/登錄的頁面,則該模式應出現在頁面上方,並且該模式只有在您登錄或注冊后才能關閉(如法定人數)。 因此,我通過檢查每個jsp中的session屬性來檢查用戶是否已登錄,並且如果不存在session屬性,我將使用java腳本顯示background = static的登錄模式。
我有一個查詢,如果有人使用$(“#id”)。modal(“ hide”)通過控制台隱藏登錄模式,那該怎么辦(因為我正在使用引導模式)。 無論如何,我可以處理這個問題,還是必須在后端解決這個問題?
您應該在后端照顧它,因為畢竟所有用戶都可以禁用javascript,而改為這樣做:
if(loggedIn)
//show content for authenticated users
else
// display the login form
更新:
就像這個PHP小提琴一樣 - 點擊RUN以顯示結果 -與上面的想法相同,但是在PHP中,如果將$loggedIn
的值更改為true
,它將顯示需要身份驗證的內容,如果$loggedIn
為false
,則將顯示登錄表單
我想您可以將事件處理程序分配給hide事件。
http://getbootstrap.com/javascript/#modals-events
$('#id').on('hide.bs.modal', function (e) {
// if some condition, dont let them hide it
})
但是,如果用戶可以通過調用此js來完成他們不想要的事情,那么他們也可以僅檢查dom並刪除此html元素。
擁有這樣的代碼可以幫助人們保持誠實,但是如果遇到安全問題,我也將確保在服務器上也進行處理。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.