日期:2014-05-16  浏览次数:20338 次

判断客户端是否禁用javascript、cookie

判断客户端是否禁用javascript、cookie

?

????? 通常情况下很少用户会想到禁用javaScript。所以我们为了实现一些良好的用户体验、达到一些网页效果,或多或少的会用的javaScript、Ajax、cookie等技术。

?

????? 可是目前存在的Web攻击往往利用这些移动代码(javaScript、cookie、flash、java小程序、ActiveX 等)攻击客户端,来达到非法的目的。于是一些安全意识比较高的用户利用浏览器提供的功能禁用或屏蔽了js、Cookie等。

????

???? 所以我们有必要判断客户端javascript是否被禁用了,提示用户开启javaScript功能。请看下面的代码:

???

Java代码 复制代码
  1. <div??id="NoJs"?>你禁用了javascript。</div> ??
  2. <div?id="YesJs">body</div> ??
  3. ??
  4. <script>?? ??
  5. ????var?NoJs=?document.getElementById("NoJs"); ??
  6. ????NoJs.className="close"; ??
  7. ????????????????//close?的样式代码??.close{?display:none;?} ??
  8. </script>??
<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功能是否已开启:

??

Js代码 复制代码
  1. <script>?? ??
  2. ??function?CookieEnable()???{ ??
  3. ????????var?result=false; ??
  4. ????????if(navigator.cookiesEnabled)??return?true; ??
  5. ??
  6. ????????document.cookie?=?"testcookie=yes;"; ??
  7. ??
  8. ????????var?cookieSet?=?document.cookie; ??
  9. ??
  10. ????????if?(cookieSet.indexOf("testcookie=yes")?>?-1)??result=true; ??
  11. ??????? ??
  12. ?????????docum