C#判斷瀏覽器功能實例詳解
C#判斷瀏覽器是否支持JavaScript和Cookies許多網站需要客戶端做許多復雜的工作,比如:用客戶端 JavaScript 進行數據合法性校驗,這需要客戶瀏覽器的JavaScript enabled;使用 Session 變量記錄身份等信息,需要瀏覽器 Cookies enabled。因此,有必要確定用戶瀏覽器中的這些選項被打開。在我的網站中,我使用了一串簡潔的代碼實現這些功能,在用戶登錄時進行檢查,如果不符合就不讓登錄。在本文中,我就介紹一下這個login頁面的寫法。
C#判斷瀏覽器功能的分析和解決:
我們首先用 JavaScript 建立一個Cookie,然后檢查 Cookie 是否存在。由于我們使用 JavaScript 進行這項操作,如果用戶沒有打開 JavaScript,但打開了 Cookies 的話,我們仍然會得到Cookies 沒打開的結果。但這與我們的要求并不沖突,反正我們是要求兩者都打開的。(如果你確實只想知道 Cookies 是否 enabled,而不關心 JavaScript,也是有辦法的,我們在另文中討論)要確定用戶是否打開 JavaScript,我在 html 中建立了一個隱藏 from,然后在 onload 事件中調一個 JavaScript 函數,改變該隱藏 form 的值,如果值被改變了,那就說明 JavaScript 是打開的,否則這個JavaScript 函數就不會被調用。(上面兩個功能我寫在一個函數中)
首先,我們放一個隱藏 form 在 html 中,用﹤form﹥...﹤/form﹥括起來。(當然,中間還可以有 username/password 的from)
- ﹤FORM﹥
- ...
- ﹤input type="hidden" name="cookieexists" value="false"﹥
- ﹤/FORM﹥
只要它的值是false,就說明瀏覽器不支持 JavaScript。注意其初始值是 false。我們的 JavaScript 函數將把這個值換
為true。在 BODY 中這樣寫:
- ﹤body onload="cc()"﹥
cc()的內容如下:
- ﹤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﹥
C#判斷瀏覽器程序能實現的功能是:
1 當用戶 JavaScript 打開,而 Cookies 關閉時彈出警告信息
2 當用戶 JavaScript 關閉,用戶無法直接得到檢查結果。(不要忘記,要彈出警告窗口也需要執行 alert 這個JavaScript 語句,這時即使檢查出來都無法提示),但這時用戶的 from 提交后,后臺的程序就會發現 cookieexists 這個域的值是 false,這就說明 JavaScript 關閉了。以后要做什么就不用我說了吧?
C#判斷瀏覽器功能的程序內容就向你介紹到這里了,希望對你了解和學習C#判斷瀏覽器方面有所幫助。
【編輯推薦】