2011-02-16 9 views
7

これは、サーバーサイドのコードを開発するときに本当に便利なようなものです。ブラウザがサーバー側からjavascriptを使用しないことがわかっている場合は、ユーザーを簡単に収容できます。または、あなたがそれを気に入っていれば、「ねえ...私たちはアプリケーションのためにjavascriptを使う必要がある」というページにリダイレクトしてください。ブラウザが、リクエストヘッダにjavascriptを有効/無効にしているかどうかを送信しないのはなぜですか?

これはなぜなのでしょうか?

+0

質問は「なぜ」なのでプログラミングとは関係ありませんが、「どのように」尋ねられたら、私は答えています。JavaScriptが有効になっていることをサーバーに伝えるJavaScriptを書くことができます。そうでない場合、無効になります。 – zvone

+0

@zvone - それは2つのリクエストにつながります。もしあなたがそれをやっているなら、あなたはダウン投票になります。もしあなたが何か解決策を提案しても、それは "完璧"ではないのでダウン投票にもなります。今、それは事実上の意見...オタクとそのBS。 – argon

答えて

2

<noscript>タグhereを参照してください。

私はそれがおそらく理想的ではないことを知っています(私はそれを選ぶのに十分な経験がありません)が、それは確かにいくらか優雅に劣化するのに十分な柔軟性を与えてくれます。

+0

劣化しない - *エンハンス*(漸進的) –

+3

さて、_fallbackで線を描くようにしましょう。 –

0

本当の理由は、NetscapeがJavaScriptで出てきたときに、HTTPヘッダーで情報を利用できるとは考えていなかったからです。代わりに<noscript>タグを作成しました。

-1

「Accept:text/javascript」のような目的にAcceptフィールドを使用できるとします。しかし、IETFは独自のものであるため、IETFはそれを決していかなる規格にも含めることはないので、普及はそれほどありません。これまでWeb開発者は対処してきました。私が使用

// hide malicious code from people without javascript 
if ($header['javascript'] == 'false') { 
    show_regular_safe_website(); 
} else { 
    use_some_nasty_javascript_exploit(); 
} 
+1

実際にはありません。それは、HTMLの代わりにJavaScriptを返すことができることをサーバーに伝えます。 – ThiefMaster

+0

それは本当です、私の悪いです。 – JonC

0

として便利ランディングページ/ログインページ。ユーザーがログオンボタンを押すと、ログオンをポストする前にjavascriptを使用して結果を送信したり、隠しフィールドを更新したりします。 javascriptが無効になっているとjavascriptが機能しないため、無効にしておくと仮定できます。

+0

........... huh? – Pedro

+1

そして、チェックを行わずにjavascriptの悪用を使用することからそれらを止めるのは何ですか? – CanSpice

+0

Javascriptをオフにしているユーザーは引き続き悪用しようとしていることがわかります。 :) – drudge

1

一つの方法は、持っていることです。それはあなたのサーバーは、ページのレンダリングが始まる前に、お使いのブラウザのJavaScript機能を認識して持っているだろうと、私のような奇妙なエッジケースを見ることができます

関連する問題