好吧,我一直在做一些檢測,如果用戶已禁用CSS的研究。我知道即使世界上沒有2%的瀏覽器使用css禁用,但我仍然需要檢測是否加載了css。隱藏內容或重定向,如果CSS禁用jQuery
基本上我使用經典的asp和jquery組合來檢測用戶是否登錄,然後用jquery將淡入淡出的窗口與登錄窗體。如果用戶轉到該特定頁面並禁用了CSS,我的所有內容仍然可以隨時使用。
我想知道是否有更好的方法來做到這一點與jQuery?一些將檢測樣式表是否已被禁用/移除的東西。
如果javascript被禁用,我已經使用<noscript>
來重定向用戶,但我想採取額外的預防措施並重定向它們。
我試着用一個簡單的javascript顯示檢查來查看一個特定的div元素是否被隱藏,以'檢測'如果css被禁用。但在Chrome瀏覽器中,如果我在頁面上,並且我使用Web開發人員來禁用JavaScript警報不顯示的所有CSS。警報只是作爲測試來檢查它,我會一旦找出正確的方法來添加重定向。
任何幫助或建議非常感謝,提前致謝。
<noscript>
<meta http-equiv='refresh' content='0;url=old_login.asp'/>
</noscript>
<script type="text/javascript">
var csschk = document.getElementById('nocss');
if (csschk.style.display = 'none') {
} else {
alert('Please enable CSS to view this page');
}
</script>
<style>
#nocss {
display: none;
}
</style>
<div id="nocss">no css</div>
我是否明白這一點:您實際上是否通過身份驗證提供了所有您嘗試保護的數據,並且您添加的所有「安全性」都隱藏在客戶端瀏覽器中?相信我,用這個方案你不必爲禁用CSS而煩惱。 – arkascha 2012-07-14 21:46:13
非常多哈哈。我只是用包含登錄腳本的透明覆蓋屏蔽了頁面,因此大部分頁面仍然可見,只是功能無法訪問。我知道這可能不是迄今爲止最安全的方法.. – xxstevenxo 2012-07-14 21:49:10
每個人都可以通過使用純文本瀏覽器從您提供的源代碼複製它,甚至更簡單地獲取內容。 – arkascha 2012-07-14 21:51:19