可是目前存在的Web攻擊往往利用這些移動代碼(javaScript、cookie、flash、java小程序、ActiveX 等)攻擊客戶端,來達到非法的目的。於是一些安全意識比較高的用戶利用瀏覽器提供的功能禁用或屏蔽了js、Cookie等。
所以我們有必要判斷客戶端javascript是否被禁用了,提示用戶開啓javaScript功能。請看下面的代碼:
- <div id="NoJs" >你禁用了javascript。</div>
- <div id="YesJs">body</div>
- <script>
- var NoJs= document.getElementById("NoJs");
- NoJs.className="close";
- //close 的樣式代碼 .close{ display:none; }
- </script>
這段代碼的原理很簡單,即如果執行了javascrpt代碼,id爲NoJs的div被隱藏,否則顯示。
下面這段代碼是利用javaScript來判斷Cookie功能是否已開啓:
- <script>
- function CookieEnable() {
- var result=false;
- if(navigator.cookiesEnabled) return true;
- document.cookie = "testcookie=yes;";
- var cookieSet = document.cookie;
- if (cookieSet.indexOf("testcookie=yes") > -1) result=true;
- document.cookie = "";
- return result;
- }
- if(!CookieEnable()){
- alert("對不起,您的瀏覽器的Cookie功能被禁用,請開啓");
- }
- </script>
以上方法並不是唯一的解決方案、也不是最好的解決辦法,這要根據具體情況而定。總之,我覺得我們改善網站的可用性、易用性,應該建立在禁用js、cookie等的情況下開始,不能讓Cookie和js影響網站的正常功能。