隨筆 - 154  文章 - 60  trackbacks - 0
          <2007年10月>
          30123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          聲明:

          該blog是為了收集資料,認(rèn)識(shí)朋友,學(xué)習(xí)、提高技術(shù),所以本blog的內(nèi)容除非聲明,否則一律為轉(zhuǎn)載!!

          感謝那些公開自己技術(shù)成果的高人們?。?!

          支持開源,尊重他人的勞動(dòng)??!

          常用鏈接

          留言簿(3)

          隨筆分類(148)

          隨筆檔案(143)

          收藏夾(2)

          其他

          學(xué)習(xí)(技術(shù))

          觀察思考(非技術(shù))

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          判斷訪問者的瀏覽器是否支持JavaScript和Cookies
          作者:Jon Wetzel
          許多網(wǎng)站需要客戶端做許多復(fù)雜的工作,比如:用客戶端 JavaScript 進(jìn)行數(shù)據(jù)合法性校驗(yàn),這需要客戶瀏覽器的
          JavaScript enabled;使用 Session 變量記錄身份等信息,需要瀏覽器 Cookies enabled。因此,有必要確定用戶瀏覽器
          中的這些選項(xiàng)被打開。在我的網(wǎng)站中,我使用了一串簡(jiǎn)潔的代碼實(shí)現(xiàn)這些功能,在用戶登錄時(shí)進(jìn)行檢查,如果不符合就不
          讓登錄。在本文中,我就介紹一下這個(gè)login頁(yè)面的寫法。

          我們首先用 JavaScript 建立一個(gè) Cookie,然后檢查 Cookie 是否存在。由于我們使用 JavaScript 進(jìn)行這項(xiàng)操作,如果
          用戶沒有打開 JavaScript,但打開了 Cookies 的話,我們?nèi)匀粫?huì)得到 Cookies 沒打開的結(jié)果。但這與我們的要求并不沖
          突,反正我們是要求兩者都打開的。(如果你確實(shí)只想知道 Cookies 是否 enabled,而不關(guān)心 JavaScript,也是有辦法
          的,我們?cè)诹砦闹杏懻摚┮_定用戶是否打開 JavaScript,我在 html 中建立了一個(gè)隱藏 from,然后在 onload 事件中
          調(diào)一個(gè) JavaScript 函數(shù),改變?cè)撾[藏 form 的值,如果值被改變了,那就說(shuō)明 JavaScript 是打開的,否則這個(gè)
          JavaScript 函數(shù)就不會(huì)被調(diào)用。(上面兩個(gè)功能我寫在一個(gè)函數(shù)中)

          首先,我們放一個(gè)隱藏 form 在 html 中,用<form>...</form>括起來(lái)。(當(dāng)然,中間還可以有 username/password 的
          from)

          <FORM>
          ...
          <input type="hidden" name="cookieexists" value="false">
          </FORM>

          只要它的值是false,就說(shuō)明瀏覽器不支持 JavaScript。注意其初始值是 false。我們的 JavaScript 函數(shù)將把這個(gè)值換
          為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>


          這個(gè)程序能實(shí)現(xiàn)的功能是:
          1 當(dāng)用戶 JavaScript 打開,而 Cookies 關(guān)閉時(shí)彈出警告信息
          2 當(dāng)用戶 JavaScript 關(guān)閉,用戶無(wú)法直接得到檢查結(jié)果。(不要忘記,要彈出警告窗口也需要執(zhí)行 alert 這個(gè)
          JavaScript 語(yǔ)句,這時(shí)即使檢查出來(lái)都無(wú)法提示),但這時(shí)用戶的 from 提交后,后臺(tái)的程序就會(huì)發(fā)現(xiàn) cookieexists 這
          個(gè)域的值是 false,這就說(shuō)明 JavaScript 關(guān)閉了。以后要做什么就不用我說(shuō)了吧?
          posted on 2007-10-09 09:18 lk 閱讀(646) 評(píng)論(0)  編輯  收藏 所屬分類: ajax&js
          主站蜘蛛池模板: 郯城县| 岢岚县| 集贤县| 河东区| 湖州市| 瓦房店市| 囊谦县| 绩溪县| 延寿县| 巴里| 元阳县| 金秀| 交城县| 莱西市| 六盘水市| 哈密市| 余干县| 如皋市| 南乐县| 德兴市| 永川市| 黎川县| 临西县| 自治县| 长垣县| 肇东市| 方山县| 潮安县| 河间市| 仁寿县| 城步| 浙江省| 兴和县| 新蔡县| 临漳县| 普兰店市| 新化县| 肇庆市| 保靖县| 曲靖市| 康保县|