なぜ人々はJavaScriptを無効にしているのですか?


59

昨日質問しましたが、JavaScriptを無効にするために開発する必要がありますか?。コンセンサスは次のとおりだと思います:はい、JavaScriptを無効にするために開発する必要があります。次に、ユーザーがJSを無効にする理由を理解したいだけです。多くの開発者(質問に答えた人は開発者だと思います)がJSを無効にしているようです。何故ですか。ユーザーがJSを無効にするのはなぜですか?セキュリティのために?速度?または何?


9
事例証拠に基づいて仮定を立てていると思います。実際、99.7%のユーザーはJSをオフにしません。実際、もし彼らが本当にJSをオフにしたとしても、このサイトはJSなしでは機能しないので、彼らはここで質問に答えなかったでしょう。
バルテック

2
誰も知らない。
kirk.burleson

6
@ varted、@ kirk:そうする人、または少なくとも部分的には知っている人はたくさんいます。たとえば、セキュリティを重視する人の多くは、ホワイトリストに登録したサイトでのみJavaScriptを許可します。そして、スマートフォンでJSを無効にする人はたくさんいます。多くの場合、バッテリーを消耗するだけの価値があります。
ヘイレム

1
セキュリティ上の理由から、Chromeではデフォルトでjavascriptが無効になっていますが、価値のあるWebサイトでは有効にします。非常に多くのWebサイトがjavascriptなしでは機能しないことを本当に嫌いです。まったく機能しないWebサイトがますます増えています。
チャレックトムザック

2
@HannesKarppilaクロスドメインCookieやWebバグ追跡画像などを引き続き使用できます。JavaScript Cookie を無効にしない限り、ユーザーの追跡は問題なく機能します。
NickG

回答:


80

次の考慮事項のため、ブラウザ環境でJavaScriptを無効にします。

  • 速度と帯域幅
  • ユーザビリティとアクセシビリティ
  • プラットフォームサポート
  • セキュリティ

速度と帯域幅

多くのアプリケーションは独自のJavaScriptを使いすぎています...インターフェースの一部を常にAJAX呼び出しで更新する必要がありますか?ブロードバンド接続で使用する場合、インターフェイスは素晴らしく高速に感じるかもしれませんが、接続速度を遅くする必要がある場合は、より合理化されたインターフェイスをお勧めします。また、JavaScriptをオフにすることは、理由のない理由で15秒ごとに世界を更新するような愚かなWebアプリを防ぐ良い方法です。(Facebookが送信するデータの量を見たことはありますか?それは怖いです。それはJS関連の問題だけでなく、その一部でもあります)。

また、クライアントへの処理をますますオフロードする傾向があり、最小限の(または時代遅れの)ハードウェアを使用すると、非常に遅くなります。

ユーザビリティとアクセシビリティ

すべてのユーザーインターフェイスが動的に表現される必要はなく、多くの場合、サーバーで生成されたコンテンツは完全に受け入れられる可能性があります。さらに、一部の人々は単にこのタイプのインターフェースを望んでいません。すべての人を満足させることはできませんが、時にはすべてのユーザーを満足させる機会と義務があります。

最後に、一部のユーザーは障害を持っているので、あなたはそれらを無視してはいけません !!!

私の意見では、最悪のシナリオは、UIを「近代化」して一般の人にわかりやすく見せようとする政府のWebサイトですが、最終的には対象ユーザーの大部分を残してしまいます。同様に、大学生がコースのコンテンツにアクセスできないのは残念です。なぜなら、彼/彼女は盲目であり、スクリーンリーダーがサイトをサポートしていないか、サイトが非常に重く、アドホックな最新のプラグインを必要とするためです2年前にe-bayで購入した改装されたラップトップにインストールできない、または春休みのために別の国に帰ってしまい、ローカル帯域幅の制約がペイロードのペイロードに対応できないためサイト。

誰もが完璧な世界に住んでいるわけではありません。

プラットフォームサポート

この点は以前の2つの点に関連しており、ブラウザーは以前よりもはるかに効率的なJavaScriptエンジンを組み込んでいるため、今日ではあまり重要ではない傾向があります。

ただし、すべてのユーザーが最新のブラウザーを使用する権限を持っていることを保証するものではありません(企業の制約-正当な理由もなく、実際に-または有効ではないかもしれないその他の理由により、当社は古いブラウザーをサポートせざるを得ないため)。「Matthieu M」が述べたように コメントでは、多くの人がまだ低品質のハードウェアを使用していること、そして誰もが最新のクールなスマートフォンを使用しているわけではないことを覚えておく必要があります。今日の時点で、サポートが限定された組み込みブラウザを備えた電話を使用している人々の大部分が依然として存在します。

しかし、私が述べたように、物事はこの分野で良くなります。ただし、非常に定期的にポーリングを続ける場合は、帯域幅の制限に関する以前のポイントを覚えておく必要があります(そうしないと、ユーザーは素晴らしい電話料金を享受できます)。

それはすべて非常に相互に関連しています。

セキュリティ

JavaScriptがブラウザ環境で実行されることを考慮すると、JavaScriptで特に危険なことは何もできないと考えることができますが、これはまったく事実ではありません。

P.SEとSOにアクセスしたときに、他のネットワークにログインしていた場合は自動的にログインすることに気づきましたか?そこにはいくつかのJSがあります。ただし、このビットはまだ無害ですが、悪意のあるサイトで悪用される可能性のある概念を使用しています。WebサイトでJavaScriptを使用して、ブラウジングセッション(またはブラウザーを終了するたびにセッションデータをクリアしない場合、または今すぐ実行する場合に過去のセッション一般的なシークレット/プライベートブラウジングモード)を使用して、サーバーにアップロードするだけです。

最近の脆弱性(当時の主要なブラウザでの作業)には、保存された入力フォームデータ収集する機能が含まれていました(悪意のあるページで組み合わせを試して、可能性のある開始文字の組み合わせごとに推奨テキストを記録し、攻撃者にあなたが誰であるかを伝える可能性があります) 、あなたが働いて住んでいる場所)またはブラウジング履歴と習慣を抽出するリンクの色と一致するようにページのDOMにリンクを挿入し、それが訪問されたかどうかを確認するような非常に巧妙なハックです)これは、既知のドメイン名の十分に大きなテーブルで行われます。また、ブラウザのJavaScript処理速度が速くなると、この種の処理は迅速に行われます。)

さらに、ブラウザーのセキュリティモデルに欠陥がある場合、またはアクセスするWebサイトがXSS攻撃から十分に保護されていない場合、JavaScriptを使用してリモートWebサイトの開いているセッションを簡単にタップすることを忘れないでください。

JavaScriptは、信頼できるWebサイトに使用する場合、ほとんど無害です。Gmail。Facebook(たぶん...ではなく...)。Googleリーダー。StackExchange。

確かに、JavaScriptはそれほど悪くないはずですよね?とにかくオンラインで恐れる怖いものがあります。EFFのPanopticlickの実験で示されているように、あなたがそれほど多くないとき、あなたは匿名だと思うように。また、JavaScriptを使用して部分的に行われます。ブラウザのフィンガープリントを回避するためにJavaScriptを無効にする理由を読むこともできます。


これらすべてが言われているように、JavaScriptのサポートを気にする必要がない完全に良い状況があるかもしれません。ただし、公共サービスWebサイトを提供する場合は、両方のタイプのクライアントを受け入れることを検討してください。個人的には、クライアント側でJavaScriptをまったく使用しない以前のサーバー生成コンテンツモデルを使用すると、多くの最新のWebアプリやWebサイトが同じように機能すると思います。

走行距離はプロジェクトによって異なる場合があります。


5
たとえば、FacebookはCPUを大幅に消費します。コーディングが不十分な(またはそうであるように思われる)サイトに出くわし、CPUを完全にロードして(他のタブをいくつか開いて)基本的にコンピューターをフリーズします。
マークC

3
@Mark C:正直に言って、Webフォームを少し誇張して使用してコメントを入力するときに、「送信」をクリックするために140Kを送り返すことを検討します。当時は特定のケースで発生していた可能性があり、それはその後修正されました(できれば)。私は短期間、インターネット検閲に対する制限的スタンスがあり、それほど優れた接続品質ではない国に住んでいたので、テキストベースの良いウェブサイトをもっと感謝しています!
ヘイレム

8
アクセシビリティに言及するための+1。いまいましいWebの半分は私にはまったく使えないものであり、私はカジュアルなコンピューターユーザーでもなければ、JAWSに頼る必要もありません(まだ)。
スタンロジャーズ

2
@Stan Rogers:私にとって非常に重要です。私は大学の盲人と偶然仕事をする機会がありました。彼はたまたま学生と教師の両方でしたが、彼の能力に圧倒されました。そして、大企業や教育機関でさえも、これらのユーザーが除外されたくだらない芸術的なウェブサイトを思い付くようになったのはむしろ悲しいことです。
ヘイレム

2
アクセシビリティのために+1。私はヘルスケアに非常に深く関係しているサイトで働いています。(ありがたいことに、ニュースにある恐ろしいものではありません)JSが私たちに与えてくれたものと同じくらい多くの利益を、私は私たちの優先事項を大いに悲しんでいます。
Katana314

46

そのため、毎朝面白い漫画を書くために誰かを信頼し、自分のコンピュータ上で任意のチューリング完全なコードを実行するために誰かを信頼することは2つのです非常に異なるもの。


3
面白いアナロジーのために+1。チューリングが完全であるという事実は、実行の危険性とは関係ありません
ヘイレム

4
@haylem:チューリング完全であるということは、一般的なケースで機械的に安全であることを証明することが不可能であることを意味します。ちなみに、永遠に実行されないような基本的なことを証明することさえ不可能です。より制限的な言語の場合、クライアントブラウザーは、スクリプトが危険なことをしていないことを証明することができます。
ヨルグWミットタグ

22
チューリング完全性とは、単に計算可能性に関するものです。インタープリター言語がファイルのオープン、HTTPリクエストなどを許可されているかどうかについては何も述べていません。チューリング完全性に固有の危険は、無限ループの可能性です。
dan04

@ dan04または、ブラウザアプリケーションに投影されるデスクトップアプリケーションを実行するWindowsを実行するx86プロセッサをエミュレートしようとする-すべてJavascriptで。チューリングの完全性は恐ろしい
-sinni800

@ dan04と、現在は暗号コインマイニングボットネット(計算リソースと結果を送信する機能のみが必要)。
user253751

16

私はウェブ開発者ではなく、インターネットの仕組みについては中程度の理解しかありません。したがって、これはユーザーからの回答です。

私の経験から、怠であろうと無知であろうと、多くのサイトは単純にコーディングが不十分だと思うようになります。Facebookページなどの基本的に静的な Webページを表示すると、CPU使用率が15%程度、さらに大幅に増加します複数のタブがあります。最終的に、ボタンまたはリンクをクリックした後、応答を待つ必要があり、CPUが過熱してロックアップするようになりました。

これらの最悪の犯罪者(サイト)の多くでは、目に見えるものは何も変化せず、インタラクティブなものは何も起きていません。サイトのコードが絶え間なく更新、ポーリング、無限ループを繰り返しているとしか考えられませんでした。

このため、NoScriptをインストールしてCPU使用率を解放し、ブラウジングがイライラする雑用にならないようにしました。

私が使用する他の素晴らしいアドオンはFlashBlockです。


Facebookは静的ページを提供していません。新しい通知、IMメッセージ、ニュースフィードアイテムをチェックするためにロングポーリングと呼ばれる手法を使用しています。これらはすべてJavaScriptとある程度のCPUパワーを必要とします。

2
@MarkTrappはい、厳密に言えば静的ページではありませんが、「基本的に静的」と言ったのはそのためです。HyperPhysicsは、静的ページを持つサイトの例です。そうしないと、ボックスが消えることがなく、ページを更新するまで通知が表示されません、各サイトは本来よりも多くのリソースに役立ちます。教授または教師が、あなたが自分の仕事を最初にすることを期待している状況。
マークC

facebookが静的なページであると思われる場合は、この質問にコメントするべきではありません。
ダイニウス

@Dainiusあなたは専門用語と英語を混同しているようで、ここではロジックに従っていません。ここでは、これらすべてのCPUサイクルで何をしているのでしょうか?それは問題。たぶん今はもっと良いかもしれませんが、これらのWebサイトの多くはCPU時間をわいせつにしています。
マークC

マーク、あなたは自分自身をwebdevと呼び、静的ページと動的ページはCPUサイクルとどう関係するのでしょうか?または、「Facebookページなどの基本的に静的なWebページを表示する」ことは本当だと本当に思っていますか?
ダイニウス

10

速度上の理由からJSを無効にします。JavaScriptを使用しないTechCrunchは、プライミングされたキャッシュを読み込むのに数秒かかります。JavaScriptを使用すると、キャッシュが準備されていない場合はさらに20秒かかります。

多くのサイト、特に画像ギャラリーや商取引サイトはJavaScriptで肥大化しています。これを削除すると、ほとんどの場合、ブラウジングエクスペリエンスが向上します。


8

私にとっては、セキュリティがすべてです。noscriptを使用して、特定のWebサイトでjavascriptを実行できるようにしますが、ほとんどは許可しません。

最終的には、危険がどこにあるのかを実際に知ることはありません(techspot.comに感染したノーベルWebサイト)。多くのゼロデイ(およびその他の)エクスプロイトはjavasciptを使用します。この1つの攻撃手段を閉じることは、正しい方向への一歩のように感じます。


1
このリンクを有効にするには、括弧で囲む必要があります。それは、昨年の冬にヤフーが スポーツ広告が何らかのマルウェアに感染していた(または感染する)。私たちが滞在していたホームネットワークを管理している若い男性は、感染性のある広告がある多くのサイトをブラックリストに載せました。
マークC

7

私の主な理由は、最も迷惑な広告を抑制することです。AdBlock Plusは、訪問したサイトの収益に影響する可能性があるため、使用しません(広告を無効にしないと利用規約に記載されているサイトを1つまたは2つ使用しました)。NoScriptは広告の潜在的な不快感を制限します。私は他の広告と一緒に住みたいと思っています。

また、セキュリティに関する考慮事項もあります。広告を販売するサイトは潜在的に敵対的であると見なされる必要があるため、これは主に広告にも関連しています。

さらに、サイトにアクセスする前に、サイトが危険であるとは限りません。一部の人々は、サイトへのリンクの送信を楽しんでおり、必ずしも正直ではありません。


また、信頼できるサイトには有害なJavascriptが含まれている場合があります-XSSを介して、またはハッキングされたためです。ノーベル賞のサイトの例が思い浮かびます。
Mnementh

4

ブラウザーはJavaScriptの実装が遅く、n00bのWebデザイナーが多すぎてボタンのロールオーバーなどの無関係なものに使用していたためです。

最新のブラウザを備えた高速マシンでは、常に正しい人がそれを無効にすることはありません。これは、高速のコンピューターで最新のブラウザーを実行するための資金、欲求、またはノウハウを持たない非常に「セキュリティ重視の」人々やその他の人が少ないと言っているわけではありません...インターネットで最も人気のあるブラウザー!


「そして、高速のコンピューターで最新のブラウザーを実行するための資金、欲求、またはノウハウのない他の人々」。「資金」の部分を理解し、同意することができます。「欲望」の部分については理解できますが、まともなコンピューターを持つことを拒否するという課せられた制約として、通常は「必要」の問題だと思います。しかし、私は本当に「ノウハウ」部分を取得しません。最近のコンピューターを買わないという点で、どうすればスキル不足になりますか?または、バンドルされたブラウザをインストールせず、代わりに古いブラウザを使用するという点まで誤用している場合はどうでしょうか?:)
ヘイレム

2

Javascriptを有効にすると、どのWebサイトでもコンピューターでコードを実行できます。特定のWebサイトがコードを実行し、それが何をするのかさえ知りません。さらに悪いことに、誰かが私の知らないうちにコードを通常無害なWebサイト(XSS)に挿入する可能性があります。最近、有名なドイツのコンピュータ雑誌が記事を書いていないが、16歳の人がドイツの最も一般的な銀行のオンラインバンキングサイトを試した。それらの多くは-最大のものを含めて-XSSに対して脆弱でした。また、オンラインバンキングサイトが、たとえばトランザクションのターゲットや金額を変更するJavascriptを実行することにも気づきません。Javascriptを無効にすると、信頼できるサイトのコンテキストでのXSS攻撃は役に立たなくなり、悪意のあるコードは実行されません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.