2009-06-04 11 views

答えて

7

あなたはそれをすることはできません。私は恐れています。

Googleで検索を行うと、ほとんどの場合、AJAX呼び出しやJavascriptが無効な場合に実行されないjavascript経由で取得される非表示フィールドが使用されます。

もしあなたがそれをしなければならないなら、私はクライアントからの最初のリクエストでそれをやってみて、クッキーを保存して(または類似している)、その後のリクエストでクッキーの値をチェックします。これは、ユーザーがJavascriptを頻繁に有効/無効にしていないことを前提としています。セッションに値を格納することもできます。

私はそれが

+0

を有効にするかどうかセッションvarとそれをよりきれいにするアクセサメソッドがあります。 – Fermin

7

Page.Request.Browser.EcmaScriptVersionがASP.NETが真であると考えるものを示します役立ちます願っています。これは、BrowserCapsが正しいことを前提としています。それはあなたにおそらくかなり近い最初のパス表示を与えます。

EDIT:私は当初(有効とサポートされている)質問に間違いがありました。あなたは JavaScriptをサポートしていないUserAgentsを除外するためにBrowserCapsサーバー側を使用することができます。そして、クッキーを経由して、それが有効になっているかどうかを判断するために、各リクエストにスクリプトの1行を使用します。

// let the server know JavaScript is enabled via session cookie 
document.cookie = "js=1; path=/"; 

そして、存在サーバ側の検出:彼らはこのクッキーが離れて行くブラウザを閉じると

HttpCookie cookie = HttpContext.Current.Request.Cookies.Get("js"); 
bool js = (cookie != null) && (cookie.Value == "1"); 

を。

0

私はこのarticalはJavaScriptをチェックするために便利になると思う私はクリーンな何かを期待していたが、それを行うことができる唯一の方法だ場合...私はそれを保存します、サーバー側から check if javascript is enabled from server side