日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

判斷瀏覽器是否支持JavaScript和Cookies

 Ralf_Jones 2006-09-29
判斷瀏覽器是否支持JavaScript和Cookies


文章類別:Javascript   發(fā)表日期:2006-7-27  星期四   

 
  判斷訪問者的瀏覽器是否支持JavaScript和Cookies
  許多網(wǎng)站需要客戶端做許多復(fù)雜的工作,比如:用客戶端 JavaScript 進行數(shù)據(jù)合法性校驗,這需要客戶瀏覽器的JavaScript enabled;使用 Session 變量記錄身份等信息,需要瀏覽器 Cookies enabled。因此,有必要確定用戶瀏覽器中的這些選項被打開。在我的網(wǎng)站中,我使用了一串簡潔的代碼實現(xiàn)這些功能,在用戶登錄時進行檢查,如果不符合就不讓登錄。在本文中,我就介紹一下這個login頁面的寫法。
  我們首先用 JavaScript 建立一個 Cookie,然后檢查 Cookie 是否存在。由于我們使用 JavaScript 進行這項操作,如果用戶沒有打開 JavaScript,但打開了 Cookies 的話,我們?nèi)匀粫玫?Cookies 沒打開的結(jié)果。但這與我們的要求并不沖突,反正我們是要求兩者都打開的。(如果你確實只想知道 Cookies 是否 enabled,而不關(guān)心 JavaScript,也是有辦法的,我們在另文中討論)要確定用戶是否打開 JavaScript,我在 html 中建立了一個隱藏 from,然后在 onload 事件中調(diào)一個 JavaScript 函數(shù),改變該隱藏 form 的值,如果值被改變了,那就說明 JavaScript 是打開的,否則這個JavaScript 函數(shù)就不會被調(diào)用。(上面兩個功能我寫在一個函數(shù)中)
  首先,我們放一個隱藏 form 在 html 中,用<form>...</form>括起來。(當然,中間還可以有 username/password 的from)
  <FORM>
  ...
  <input type="hidden" name="cookieexists" value="false">
  </FORM>
  只要它的值是false,就說明瀏覽器不支持 JavaScript。注意其初始值是 false。我們的 JavaScript 函數(shù)將把這個值換
  為true。在 BODY 中這樣寫:
  <body onload="cc()">
  cc()的內(nèi)容如下:
以下是引用片段:
<script language="JavaScript">
<!-
function cc()
{
/* check for a cookie */
if (document.cookie == "") 
{
/* if a cookie is not found - alert user -
change cookieexists field value to false */
alert("COOKIES need to be enabled!"); 
/* If the user has Cookies disabled an alert will let him know 
that cookies need to be enabled to log on.*/ 
document.Form1.cookieexists.value ="false" 
} else {
/* this sets the value to true and nothing else will happen,
the user will be able to log on*/
document.Form1.cookieexists.value ="true"
}
}
/* Set a cookie to be sure that one exists.
Note that this is outside the function*/
document.cookie = ‘killme‘ + escape(‘nothing‘)
// -->
</script>

  這個程序能實現(xiàn)的功能是:
  1 當用戶 JavaScript 打開,而 Cookies 關(guān)閉時彈出警告信息
  2 當用戶 JavaScript 關(guān)閉,用戶無法直接得到檢查結(jié)果。(不要忘記,要彈出警告窗口也需要執(zhí)行 alert 這個JavaScript 語句,這時即使檢查出來都無法提示),但這時用戶的 from 提交后,后臺的程序就會發(fā)現(xiàn) cookieexists 這個域的值是 false,這就說明 JavaScript 關(guān)閉了。以后要做什么就不用我說了吧?

<script type="text/javascript">
var 
cookieEnabled=(navigator.cookieEnabled)? true false
//判斷cookie是否開啟

//如果瀏覽器不是ie4+或ns6+
if (typeof navigator.cookieEnabled=="undefined" && !cookieEnabled){ 
document.cookie="testcookie"
cookieEnabled=(document.cookie=="testcookie")? true false
document
.cookie="" //erase dummy value
}

//if (cookieEnabled) 
//if cookies are enabled on client‘s browser
//do whatever

</script>

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多