クライアントブラウザでASP.NETコードが有効になっているかどうかを確認することはできますか?Javascriptが有効になっているかどうかを確認するサーバ側ASP.NET
私は理想的にはコントロールのPreRenderやPageLoadでこれを行い、見た目を変更できるようにしたいと考えていました。
どのような提案や回避策なども大歓迎です。
クライアントブラウザでASP.NETコードが有効になっているかどうかを確認することはできますか?Javascriptが有効になっているかどうかを確認するサーバ側ASP.NET
私は理想的にはコントロールのPreRenderやPageLoadでこれを行い、見た目を変更できるようにしたいと考えていました。
どのような提案や回避策なども大歓迎です。
あなたはそれをすることはできません。私は恐れています。
Googleで検索を行うと、ほとんどの場合、AJAX呼び出しやJavascriptが無効な場合に実行されないjavascript経由で取得される非表示フィールドが使用されます。
もしあなたがそれをしなければならないなら、私はクライアントからの最初のリクエストでそれをやってみて、クッキーを保存して(または類似している)、その後のリクエストでクッキーの値をチェックします。これは、ユーザーがJavascriptを頻繁に有効/無効にしていないことを前提としています。セッションに値を格納することもできます。
私はそれが
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");
を。
私はこのarticalはJavaScriptをチェックするために便利になると思う私はクリーンな何かを期待していたが、それを行うことができる唯一の方法だ場合...私はそれを保存します、サーバー側から check if javascript is enabled from server side
を有効にするかどうかセッションvarとそれをよりきれいにするアクセサメソッドがあります。 – Fermin