web-dev-qa-db-ja.com

JavaScriptの優雅な劣化はどのくらい重要ですか?

Web開発者は、JavaScriptを使用してWebアプリケーションを段階的に強化し、機能を適切に低下させてアクセシビリティを確保する努力を続ける必要がありますか?それとも、その時間を新機能や他の開発分野に集中すべきでしょうか?

その質問のサブテキストは次のようになります。JavaScriptが無効になっている当社のWebサイトまたはアプリケーションを利用している顧客/クライアント/ユーザーは何人ですか?特にJavaScriptの機能を要求する要件を持つプロジェクトはありますか(ほとんどすべてのものです)、それらの要件も適切な低下を要求していますか?

この質問をするために、JavaScriptを有効にせずにprogrammers.stackexchange.comをプルアップしたところ、「プログラマー-Stack ExchangeはJavaScriptを有効にすると最適に機能します」というメッセージが表示されました。サイトは通常は問題なく動作しているように見えましたが、ログインは困難でした。 (質問に投票できませんでした。)

これは開発への満足のいくアプローチだと思います。サイトのすべての機能をプレーンな古いHTMLとサーバー側のロジックで機能させるための取り組みを想像してみてください。一方、このアプローチに疎外されているユーザーは何人かと思います。

プログレッシブエンハンスメントを使用し、Webアプリケーションの動的機能が適切に低下するように、私たちは全員(少なくとも私たちの中で優れた開発者)のトレーニングを受けています。このプログレッシブ拡張は風を吹き込んでいるだけですか、それとも一部のお客様はJavaScriptを有効にせずに特定のWebサービスを実際に利用していますか?

89
Stephen

私は NoScript を使用していますが、実際に使用する予定のサイトをホワイトリストに登録しています。

NoScript、JavaScript、Java、Flash Silverlight、およびその他の実行可能コンテンツをインストールすると、デフォルトでブロックされます。信頼できるサイトでJavaScript/Java/...を選択的に許可できるようになります...ランダムにサーフィンしているだけの場合や、サイトに頻繁にアクセスして本当に信頼している場合に、サイトでスクリプトを一時的に実行することを許可できます。つまり、NoScriptは自分のブラウザーの習性から学習し、しばらくするとバックグラウンドで消える傾向がありますが、悪意のあるWebページに遭遇した場合、すぐに戻って1日を節約できます。

ブロックされたスクリプトを含むサイトを閲覧すると、ポップアップブロッカーによって発行されたものと同様の通知が表示されます。
それまたはステータスバーアイコンを見て、現在のNoScript権限を確認してください...

http://noscript.net/noscript/ss0.png

52
John Straka

JavaScriptをオンにしていない人の割合はごくわずかです。ただし、検索エンジンボットには注意してください。彼らは通常JavaScriptを使用しませんが、あなたのコンテンツのいくつかの重要なコンテンツをスキップすることを望まないでしょう?

93

私は常にJavaScriptを有効にして閲覧しており、Webブラウザーの黎明期から使用しています。

ブラウザのエクスペリエンスを低下させる価値のある単一の問題を一度も経験したことはありません。おそらくいくつかのポップアップやその他の不快な点がありますが、利点は私の意見ではリスクをはるかに上回っています。

47
JohnFx

Linuxでコンソールを使用するとき、GUIが利用できないときに Lynx を使用することがあります。私の知る限りでは、lynxはJavaScriptをまったくサポートしていません。

また、JavaScriptがサポートされている場合でも、貧弱な古いモバイルブラウザーを使用しました。

しかし、そのような状況では、サイトから完全なユーザビリティを得るとは思いません。私は通常、インターネットを使用して何かをすばやく検索します(電話番号を取得するなど)。したがって、私はあなたのサイトの非JavaScriptインターフェースは受動的な参照の役割に限定されるべきだと思います。 Stack Exchangeはこの良い例です。回答を調べることはできますが、賛成票を投じることはできません。参照として使用するためだけにあります。

23
Adam

家やオフィスにいないときは、スマートフォンのWebブラウザーから定期的にWebサーフィンをしています。 JavaScript(の少なくとも一部)をサポートしていますが、常にうまく処理できるとは限りません。多くのウェブサイトが多くのリソースを消費するか、単にブラウザをクラッシュさせるため、使用できないウェブサイトを見つけました。

私は組み込みのブラウザーを好みますが、そのうちの1つがより適切に機能するように、2つの代替ブラウザーを保持します。

17
Kenneth Cochran

このスレッドで言及されていないことの1つは、スクリプトが壊れた場合にどうなるかです。多くの場合、ページでのスクリプトのそれ以上の実行が無効になる可能性があるため、ナビゲーションのより単純な方法にフォールバックする方法が必要です。

スクリプトはさまざまな理由で壊れる可能性がありますが、最も明白なものは、.jsファイルの不完全な要求、DOMを変更する可能性のあるさまざまなアドオン( AdBlock など)または適切でないオブジェクトの導入です。名前空間付き。

これは、スクリプトなどを明示的に無効にする人とは関係ありません。余談ですが、最近のルーターやファイアウォールソフトウェアなどの多くは、ウェブサイトからスクリプトやFlashなどを無効化/除外する機能を備えていることが多いため、ネットワークレイヤーで設定されていても、ユーザーに気付かれないようにすることもできます。公共のカフェ、学校、または他の偏執狂的な人々がインターネットへのアクセスを設定した他の環境)。

これは通常、少なくともサイトの基本的な機能(レイアウトとナビゲーション)で正常に機能が低下するサイトを開発するための私の主な議論です。

13
jishi

JavaScriptを無効にする唯一のことは、自分のWebサイトをテストすることです。ただし、Yahooが1〜2%のユーザーがJavaScriptを無効にしていることが判明した study に興味があるかもしれません。 Yahooのオーディエンスは、おそらく平均的なユーザーをかなりよく表しています。

研究からの主要な引用:

米国の訪問者の2%はそれほど多くはないように見えるかもしれませんが、3億人を超えるユーザーがYahoo!毎月ホームページ。つまり、JavaScriptを利用せずに毎月600万人のユーザーがアクセスしています。そのため、JavaScript対応バージョンのサイトに時間を費やす価値はありますが、それを使用できないユーザーも少なくありません。

12
VirtuosiMedia

私は NoScriptAdBlock Plus と共に常に使用しています。

今日のWebは敵対的で(侵入型のJavaScript +迷惑な広告)、保護されずに出かけることができません。

7
user8685

もちろん、ここでは実際に歪んだサンプルを取得しています。自分のサイトで独自の調査を行うほうがよいでしょう。

私は個人的にはNoScriptを使用しています。私はサイトをホワイトリストに登録することをためらうことはめったにありませんが、そうするために私の価値があるように見える必要があります。 (言い換えれば、私には理由が必要ですが、それほど説得力がある必要はありません。)

6
David Thornley

実用的なプログラマー「HTML5とCSS3」 を読んでください。著者によると、ユーザーの5%がJavaScriptをオフにしています。

これが彼の出典です: EUおよびUS JavaScript無効インデックス番号+ Web Analyticsデータ収集への影響

JavaScriptが無効なインデックス番号

EU:1.4%
米国:3.05%

出典:IndexToolsを使用した複数の業界Webプロパティ全体での1.000.000.000の訪問。
(VisualRevenue.com/blog – Dennis R. Mortensen)

http://visualrevenue.com/media/uploaded_images/JavaScript-Disabled-735171.JPG

割合も下がっているようです。

5
Peter Turner

または、JavaScriptを有効にせずに実際にcertain Webサービスを利用する人もいますか

はい。

私のブラウジングは3つのカテゴリに分類されます。

通常の閲覧-SafariまたはChrome(Mac OS X)
-iGoogle、Stack Overflow、いくつかのブログ

特別websites:-Firefox、NoScript、AdBlock Plus、FlashBlock
JavaScriptが不必要に重いサイト。 (重要な場合、ボリウッド映画/音楽のいくつかのインドのサイト不必要に重いスクリプト-ページ自体は5分ごとに再読み込みされます)

モバイルブラウジング:
私はノキア5310を使用していました。それを失いました。今、私はさらに古いSony Ericsson W700iを持っています。私は旅行中にそれを使用して閲覧します(Opera Miniはかなり良いです)。これはJavaScriptが存在しない(存在しない)ところが苦痛です。 (ほとんど)サイトとやり取りしたくないので、読んでください。それでもほとんどのサイトは表示できないです。

5
Nivas

私はNoScriptと信頼できるホワイトリストサイトのみをインストールする傾向があります。それ以外の場合は、必要なときに特定のドメインに対して「一時的に許可」を使用します。

これはちょうど良いセキュリティです。それ以外の場合は、マシン上で任意の量のコードを実行できます。サンドボックス化されていても...常に脆弱性があります。

私自身の習慣を超えて、たとえほとんどの人がJavaScriptを使用して閲覧する場合でも、漸進的な強化を念頭に置いてサイトを開発することは依然として有用です。サイトがベースラインで機能している場合、最大のオーディエンスにサービスを提供できます。また、データをビジュアルデザインやビジネスロジックから分離することも意味します。クライアント側でJavaScriptを使用して行うほとんどのことは、とにかくサーバー側で実行する必要があります。クライアント側で実行することは、サイトのユーザーに便利なだけです。

もちろん、JavaScriptを必要とする例外もありますが、一般的には期待が伴います。たとえば、ゲーム BioLab Disaster のJavaScriptを有効にすることが期待されていますが、A List Apart 、主にテキストのみ。

フォームに入力するとき、フォームを送信するためにJavaScriptを有効にしておく必要がありますか?どうして? JavaScriptコードが、文字ではなく数字を入力しなかったことを確認できるようにするには、どうすればよいですか。

4
pbdiode

私の意見では、アクセシビリティは他のほとんどすべてに勝っています。支援技術に依存するユーザーは、少し時間がかかる場合でも、常にサイトのほとんどの機能を利用できる必要があります。ユーザーの何パーセントがそれに依存するかは問題ではありません。私は、アクセシビリティが主な焦点の1つであるオープンソースのWebプロジェクトのコードを書いてうれしいです。実際に、JavaScriptを使用する場合と使用しない場合の両方の方法で物事を実現する方法を学びます。 (そして、JavaScriptかどうかは実際には問題のごく一部にすぎないため、アクセシビリティに関連する他の多くのことが起こります。)

先ほどお話ししたプロジェクトのユーザーから、どのテクノロジーを使用しているかについての興味深いアンケートがあります here 。興味があるかもしれません。

3
pyvi

私はGoogle Chrome + AdBlock Plusを使用しており、JavaScriptをオンにしています。

編集: NotScript を使用しています。 :)

Chrome ALONEはほとんどすべてのポップアップをブロックし(1つのサイト[Chess.com]で1回だけ失敗したことを発見しました)、AdBlockはすべての広告を取り除きますので、それらに問題はありません。

IMO、JavaScriptは全体的に「より良い体験」を提供し、信頼できるサイト(ハッキングされていない...)にアクセスする限り、問題ありません。 「コンピューターの人」/開発者として、私たちは非常に鋭い「インターネット感覚」を持ち、サイトが悪意のあるものであるかどうかを見分けることができると信じています。

3
Mateen Ulhaq

Javascriptは無効になっていますデフォルトで Windowsサーバーのボックスを使用しているユーザー向け。私たちのITポリシーは非常に多くのサイトをブロックします。コンテンツを読み取る唯一の方法は、JSがデフォルトで無効になっているサーバーでサーフィンすることです。

これは私の好みの構成ではありませんが、時々私がしなければならないことです。

3

うーん、今は オメガマン のように感じます。 :)どうやら私は最後の実際にJavaScript(およびCookie)をオフにしているオフ。 (たとえば、Stack Overflowなどの特定のサイトで必要な場合を除きます。)

私は多くが欠けているとは思いません-通常、私がdoでサイトのJavaScriptをオンにすると、何かを完全に実行しますまったく知らない人に大量の個人情報を吐き出させたり、移動中の広告を表示したり、集中したいときに画面上でランダムに移動したりするなど、役に立たない記事を読んでいます...

2
Cyclops

私がやります。ずっとNoScript。ブラウザーがサンドボックス化されたときは終了し、以前は終了しません。

2
Satanicpuppy

私はAskUbuntu.comで質問に答えただけです-(一時的に-現時点では)サイトでJavaScriptを有効にする必要がありました。私はNoScriptを使用し、サイトが明確であると思うときはJavaScriptを有効にします。以前にアクセスしたことのないサイトでは、JavaScriptはデフォルトでオフになっています。

2

人々は、それがバイナリであるかのようにこの決定について話し続けます。あなたは優雅に衰退するか、そうしないかのどちらかです。代わりに、個々の機能ごとに正常に機能を低下させることのコストとメリットを比較してみませんか?たとえば、サイトに基本的な機能があることを確認しながら、特定の機能を使用するためにJavascriptを必要とすることができます。

また、Javascriptを無効にする多くの人がそうすることを覚えておいてください理由彼らは必要最低限​​のものだけを備えた軽量でシンプルなウェブサイトを使いたいと思っています。すべての時間を費やして、特別にそれらを回避しようとしているユーザーのために効果を発揮することができます。

人々は優雅に分解するのはとても大変なことだと不平を言います。それがどれほどの作業量であるかについて不平を言っている場合、おそらくJavaScriptを必要とする価値のある機能に取り組んでいることになります。

JavaScriptを使用していないユーザーは、常にサイトをナビゲートし、連絡先ページを使用し、所有している記事やブログ投稿を読むことができるべきだと私は考えています。より複雑な機能については、関連する作業とメリットに基づいて判断を下します。

2
lala

ウェブサイトの戦略と計画はケース固有です。つまり、IEブラウザはもちろん、CSS3のborder-radiusのサポートなどの軽微な問題について考える必要はありません。しかし、他のWebサイトでは、 IE6までの下位互換性も必要です。

どのように私たちはウェブサイトのために計画しなければならないかを理解できますか?一部には私たちの経験から。プログラマーや開発者をターゲットとするWebサイトは、ユーザーがほぼすべての機能をオンにした状態で、かなり新しく、更新されたブラウザーを使用していることを確認できます。ただし、ニュースウェブサイトでは、地球の未知の場所にいる誰かが自分のウェブサイトに接続して、自分の国の内部を通過しているものを確認できると考えるべきです。

しかし、経験と直感に加えて、統計データに基づいて将来の決定をより確実にするために、何らかのanalyticsサービスをWebサイトにインストールする必要もあります。たとえば、Google Analyticsは非常に優れたツールです。そこから、古いブラウザを本当にサポートする必要があるかどうかがわかります。

ただし、W3CのWebアクセシビリティガイドラインに従う場合は、サイト固有の状況を考慮せずに、多くのことを確実にサポートする必要があります。

あなたの特別なケースでは、私はnoと言います。中小規模のWebサイトでは、スクリプトなしを安全に忘れることができます。しかし、より大きなプロジェクトでは、ページにもう少しマークアップを含めることは悪い考えではありません。

1
Saeed Neamati

障害を持つ人々があなたのサイトを使用できる可能性がある場合は、JavaScriptのバックアップがあることを確認することをお勧めします。

1
nkassis

私はPr0n(悪い近所!)を閲覧するためだけにそれを有効にします;-)

物事が壊れすぎたので、私は定期的なブラウジングのためにそれをオフにしようとすることをあきらめました。また、電源を入れるまで壊れたことを知らないこともあります。

1
nate c

クッキーを忘れないでください。クッキーはJavaScriptよりも危険だと思います。以前はNoScriptユーザーでしたが、Cookieサイトをホワイトリストに登録するために、これをオフにしました。

0
Brad Clawsie

このスレッドのいくつかの回答が陽気なのか深刻なのかを判断できません。JavaScriptはJavaScriptよりも危険ですか?笑

どのサイトもjsとcookieをオフにしてテストする必要がありますが、それは最低限必要なことです。

0
wildpeaks

私はいつもJavaScriptをオンにしています。また、私の側には常に最小の復元キットがあります。

JavaScriptを無効にするライン拒否が必要なので、「アラートなし、リダイレクトなし、Webソケットなし」と言えるでしょう。機能は WebKit にあり、コンソールとさまざまなインスペクターから判断すると、.

しかし、はい、常にJavaScriptをオンにします。主な理由は、フラッシュが「かっこいい」VMを手に入れたときとまったく同じように、人々はすぐにWebソケットを使用してあらゆる種類の悪事を仕掛けるからです。次に、JavaScriptをオフにします。もちろん私にさせてくれれば。

私はできる限り良いことを楽しみたいです。ですから、この時代の楽しい思い出があります。感銘を受けたい、JavaScriptフォリーにクスクス笑いしたい、なぜなら2007年に私たちが持っていたもの、湧き水のような無料の甘い情報の流れ、どこにでもあるオープンソースが本当に恋しいからです。

オフにするまでオフにしません。

0
chiggsy

ライブCD/DVDから(物理的にまたはVMで)起動すると、FlashとJavaScriptにそれらの機能を許可することについて、かなり気分が良くなります。私が正しく覚えていれば、Linux Mint はそのままでFlashをサポートしています。

サイト開発に関する限り、私は通常、妥当な量のdivスワッピングとメニューをJavaScriptで実行しますが、すべてが正しく見えるようにし、基本的にCSSで動作するようにします。

0
RobotHumans

クライアントが明示的に要求した場合のみ

影響を受けるかなりの数のユーザーがいない限り、それは単に余分な労力です。

0
Darknight