4

私は数年前からWebアプリケーションを開発しています。私が直面している問題の 1 つは、JavaScript が有効になっていない、または利用できない Web アプリを開発しなければならないことです。これが数年前の問題であることは知っていますが、他の Web デザイナーや開発者がこの問題についてどう考えているか知りたいですか? それはまだ問題ですか?

私がこの質問をしている理由は、現在ではほとんど起こりそうにないシナリオに対応しているだけに思えるからです。これは特に、一般向けの Web サイトや Web アプリケーションに関するものですか? 私の評価は正しいですか?私は、他の Web 開発者やデザイナーの経験や学んだことを知りたいと思っています。

ありがとう。

4

5 に答える 5

2

サイトの基本的な機能が JavaScript なしで利用できるようにすることをお勧めします。

このように作業すれば、あなたや別の開発者が不完全な JS を実稼働サイトに許可したとしても、最終的には機能するサイトになります。深刻な JS エラーが必ずしも完全なショーストッパーになるとは限りません。

また、AJAX、エフェクト、およびその他の綿毛は、デバッグに aaaaaaaages かかる場合があります。ユーザーは単純なことを気にしません。混乱を招き、バグの多い AJAXeffectsFluffy がらくたヒープを作成しないように、単純なものを目指して、ベルとホイッスルをゆっくりと追加し、追加するときにユーザー テストを行う必要があります...

于 2010-08-19T08:52:47.677 に答える
2

プログレッシブエンハンスメントの場合は+1。これは、単純な HTML/CSS を使用した基本的で派手でない機能を備え、JavaScript コードを取得して、その機能を独自のもので補完または置換する場所です。

たとえば、ページ 1、ページ 2 などの単純なハイパーリンクで構成されるページにページング ナビゲーションがあるとします。

<div class="paging">
    <ul>
        <li><a href="?page=1">1</a>
        <li><a href="?page=2">2</a>
        <li><a href="?page=3">3</a>
    </ul>
</div>

div.paging次に、要素を探して、それをより洗練されたものに完全に置き換えるJavaScript 機能を用意します(例: (疑似コード))。

$('div.paging').each(function()
{
    $(this).find('ul').remove();
    $(this).append(renderAdvancedPaging());
});

それを置き換えることができるものについては、Google 画像スタイルの無限スクロール (Bing が最初に持っていたことを知っています)、または次の結果セットを動的に追加する大きな次のページ ボタンを下部に配置するという Twitter のアプローチ (持っているhttp://twitter.com/codinghorrorを見てください- 下にスクロールして [その他] をクリックしてください)。

この「プログレッシブ エンハンスメント」アプローチの利点は次のとおりです。

  • JavaScript を無効にしているユーザー向けに機能します。これには、精通したユーザーや、厳重にロックダウンされた企業イントラネットで作業するユーザーが含まれます。
  • アクセシビリティ: スクリーン リーダーを使用している目の不自由なユーザーでもサイトを使用できます。
  • ページで JavaScript を実行しない検索エンジンでも、ページング リンクをたどり、それらのページの追加コンテンツをインデックスに登録できます。

SEOに関心がある場合、最後のポイントが最も重要です。


ただし、プログレッシブ エンハンスメントを合理的に無視して、JavaScript に依存し、JavaScript なしでは機能しない Web サイトを構築できる場合もあります。通常、これは高度な「Web アプリケーション」またはモバイルに最適化された Web アプリに対して行います。たとえば、Google マップ、カレンダー アプリ、<canvas>要素を使用する HTML5 描画アプリ、HTML5 を利用したゲームなどを考えてください。 「ベース」 (ブログ サイト、ニュース サイト、e コマース ショップなど) はプログレッシブ エンハンスメントを適用する必要がありますが、「アプリケーション型」のものはすべて JavaScript を強制するだけで済みます。

最終的には、構築しているものと、プログレッシブ エンハンスメント ルートが適切かどうかにかかっています。


JavaScript が無効になっている人の数の統計を取得するのは困難です (一部はここに記載されていますが、2008 年のものです。この StackOverflow の投稿も 2008 年のものです)。しかし、RIA アプリの数が増加し、 JavaScript に依存する HTML5 アプリ (Google ドキュメント、マップなど)。また、JavaScript を無効にできないモバイル インターネット デバイス (iPhone、iPad など) の数が増えていることも考慮してください。

于 2010-08-19T10:07:23.273 に答える
2

現在でも、JS をデフォルトでオフにしているユーザーがいます (私を含む)。専門的に構築されたサイトは、無効になっている機能について警告するか、JS なしで (ページ全体のリロードを介して) 動作します。

于 2010-08-19T08:55:19.370 に答える
1

プログレッシブ強化!私はほとんどの場合、AJAXd Web サイトに長時間悩まされた後、JS を無効にしてブラウジングします。そのため、JS 機能を追加する前に、常に単純なページ ロード フォームなどから始めます。

jQuery や mootools などの JS フレームワークは、アニメーションを使用して「光沢のある」Web サイトをほとんど誰でも作成できるため、ますます人気が高まっています。しかし、ツールを使い始める人が増えれば増えるほど、通常のブラウザは JS を有効にしようとしなくなります。

于 2010-08-19T09:13:46.510 に答える
0

CSS がオフになっている人にも注意を払う必要があると考える人がいます。Web の世界のすべての「もしも」を説明すると、これらすべてがあなたを夢中にさせる可能性があります。JavaScript をオフにする人は、自分が何のためにいるのかを知っており、それが原因で機能しないサイトを見つけても決して驚かない. オフにするのに十分な知識がある場合は、必要なときにオンに戻すのに十分な知識があります。

Web は常にスクリプト可能であるべきだとかつて言ったのは Tim Berners-Lee だったと思います。スクリプティング フックは HTML に組み込まれており、すべてのブラウザで動作します。ほとんどの人がそれをオンにしており、オンにする必要があります。あなたの利益のためにそれを使用してください。

于 2010-08-19T11:09:46.277 に答える