2011-07-18 14 views
2

JavaScriptが有効になっているかどうかを検出する方法はいくつかあります。私は独特の状況があります。 Global.asaxのは、すべてのスローされたエラーサーバー側でJavascriptを有効にする

protected void Application_Error(Object sender, EventArgs e) 
{ 
    //email development team 
} 

を扱う最近、私は自分のマシン上でJavaScriptを無効にし、人々の問題がありました。これらは企業のマシンであり、これは許可されていません。私は、マスターページにいくつかのjavascript検出を追加することができますが、私はこれを "catch all"メソッドに上記のようにすることはできません。

このScenerioでは、クライアントでjavascriptが有効になっているかどうかを検出するにはどうすればよいですか?

+0

サーバーでこれを行うのではなく、クライアント上で行います。 '

+0

@Raynos - 訪問者がJavaScriptを無効にしている場合は、電子メールで送付したいと思います。彼らはこのために困っているはずです。私はフレンドリーなエラーメッセージを追加したくありません。これは '

+1

@ P.Brain.Mackeyこれは、IEユーザー設定sysadminのものでなければなりません。そして、それらを検出するには、「javascriptがオン」というajaxメッセージを送信し、n秒以内にメッセージを受け取れない場合は自分自身に電子メールを送信します。これはコード債務です。あなたのウェブサイトを再設計して、javascriptなしで動作させます。ユーザーがJavaScriptをオフにすることを禁止するのは、愚かな企業ポリシーです。 – Raynos

答えて

4

が必要なもののために徹底したexplanantaionを与えます。あなたがポストバックに新しい値を取得する場合

、その後のjavascriptを

1

これは、あなたがページのonloadイベントで隠しフィールドの値を変更するにはJavaScriptを使用することができます

http://www.codeproject.com/KB/aspnet/JavaDetectService.aspx

+0

+1に両方の答え。これらは参考になります。私はRaynosのソリューションに行き、AJAXを使ってクライアントで検出するつもりです。 @ Raynosこれをあなたの答えとして掲示すれば、私はそのようにマークします。それは私が求めているすべての要件を満たし、より保守性が高いと思われます。 –

2

を有効になっているまあ、私はあなたがあなたの特定のタスクのためのJS一般的な検出を必要とは思いません。 <noscript>タグを追加し、そのタグに画像を挿入することをお勧めします。もし誰かがそのイメージを要求すれば、あなたが話していたエラーロジックをしたいかもしれません。

スクリプトが有効になっている場合、そのブラウザでは<noscript>のタグが取り込まれないように協力するリソースを探してみます。

EDIT 詳細はprevious stackoverflow postを参照してください。それは直感的ですが、これは真実でなければなりませんが、これの背後には複数の意見があります。ユーザーはすぐに離れて移動したときにこれが起こるかもしれません -

ああ、私はちょうどあなたがアヤックス+ n秒待っ approach.Iが強く、簡単に偽陽性を得る可能性がありますどのよう見て、それに対して助言を行っていたことを見ましたトラップされたページや何らかの種類の一時的なネットワーク遅延から発生します。

あなたが興味はありませんが、このアプローチには優雅な劣化の利点があります。ブービートラップされたイメージは、スクリプトをオンにする方法をユーザーに示します。 :)

関連する問題