JavaScriptがASP.NETで無効になっていることを検出する
-
05-07-2019 - |
質問
ASP.NET WebコントロールのRenderメソッドでは、クライアントブラウザーでJavaScriptが有効か無効かに基づいてHtmlの出力を変更する必要があります
それを理解するための正しい呪文を知っている人はいますか?
解決
javascriptが有効になっているかどうかを確認するためにスクリプトを使用する場合の問題は、スクリプトが実行されていない場合にのみそれを見つけることです。
一部のソリューションでは反対のことを試みます。JavaScriptを使用して値を設定し、その値が後で検出された場合にJavaScript対応のコントロールを提供します。ただし、Firefox NoScriptプラグインなどのjavascript対応のツールでは、これは失敗します。
より堅牢なソリューションは、常にプレーンHTML互換のコントロールを送信し、ページの読み込み時にjavascriptを実行して正しいイベントハンドラー/追加のDOM要素などを追加することです
ただし、ASP.NETアプローチがコントロールにどのように適合するかはわかりません。
他のヒント
noscript タグは、代替コンテンツ(テキスト)を定義するために使用されます。スクリプトは実行されません。
編集:こんにちはKieron、次のリンクをご覧ください: JavaScriptテスト用のサーバーコントロールの作成、および ASPXでJavaScriptが有効になっているかどうかを検出
ブラウザは、JavaScriptの可用性をリクエストと通信しません。
私がやったことの1つは、あなたの場合に適用できるかどうかはわかりませんが、Javascriptが有効になっていないようにページを生成し、HTMLのみのものをオフにしてJavaスクリプトをオンにするJavascriptがありますHTML-Javascriptスタッフ。
最初のページに「phone home」をヒットさせることもできます。 Javascriptを使用して、セッションでJavascriptが有効かどうかを記録します。
これは、フォームが送信されるタイミングを確認する方法です。
http://www.4guysfromrolla.com/webtech/082400-1.shtml
ページが最初に要求されたときに通知するRequestプロパティがあるとは思わない。ブラウザがJSをサポートしているかどうかを通知するプロパティがありますが、有効になっている場合は通知しません。 こちら
あなたがする必要があるのはこれです。多くのテストと深夜の後、私は最も簡単なソリューションを使用することにしました。ラベルをページの上部にドラッグし、「サーバーで実行」と表示されていることを確認します。次に、Text属性にText ="このWebサイトにはJavascriptが必要です"を入力します。それが最良の答えです。 :D