問題タブ [progressive-enhancement]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ajax - プログレッシブエンハンスメントとは?
Jeff は、jQuery を使用して stackoverflow を記述することについて話しているときに、「プログレッシブ エンハンスメント」の概念について言及しました。
簡単なグーグルの後、私はそれについてのいくつかの高レベルの議論を見つけました.
プログラマーとして始めるのに適した場所を誰でもお勧めできますか?
具体的には、私は PHP で Web アプリケーションを作成しており、YUI を使用してページを改善したいと考えていますが、それらの多くは非常に JavaScript ベースのようであり、ほとんどの作業は JavaScript を使用して行われています。Javascript を使用せずにサイトを表示すると、ほとんどのサイトが壊れてしまう可能性があるためです。
誰もがこのアイデアを使い始めるのに適した場所を持っています.私は言語についてはあまり気にしません.
理想的には、最初に静的 HTML の作成を開始し、次に YUI (またはその他の Ajax フレームワーク) を追加して、よりリッチなクライアントのメリットを得る方法を知りたいと思います。
ajax - プログレッシブエンハンスメントはどれほど重要だと思いますか?
プログレッシブエンハンスメントは、移植性とアクセシビリティを向上させるだけでなく、開発プロセスを容易にするWeb開発方法論です。
私が欲しいのは、コミュニティの他の人々がこのアプローチについてどう思っているかを知ることです。
特に:Webアプリケーションがサポートする必要のあるテクノロジーの最小セットは何だと思いますか?
javascript - その場で編集を分解可能にする方法についてのアイデアはありますか?
私は現在、MooTools 用の編集スクリプトを書いていますが、JavaScript を使用せずに一部の機能を維持しながら適切に機能を低下させるにはどうすればよいか、少し困惑しています。プログレッシブエンハンスメントを何らかの方法で使用したいと思います。私はコードを探しているわけではありませんが、状況にどのようにアプローチするかについての概念です。適切に劣化するインプレース編集スクリプトのアイデアや知っている場合は、共有してください。
php - Flash/Flex コンテンツのプログレッシブ エンハンスメントを処理する PHP フレームワークを知っている人はいますか?
ここでは「プログレッシブ エンハンスメント」という用語を大まかに使用していますが、基本的にディープ リンクをサポートし、コンテンツを動的に読み込む Flash ベースの Web サイトを持っています。 Flash がないか、検索エンジン ボット用です。したがって、フラッシュを使用するユーザーの場合、次の場所に移動します。
specific_page
「 . 」に移動するフラッシュ サイトが表示されます。Flash を使用しない場合はspecific_page
、代替コンテンツ セクションのテキストにレンダリングされた「 」が表示されます。
基本的に、swf も動的データを使用しているため、php/mysql を使用してこれらすべてを処理するバックエンドを作成します。問題は、これがすでに存在する何かがあるかどうかです。
asp.net - ASP.NETでJavaScriptが無効になっていることを検出する
ASP.NET WebコントロールのRenderメソッドでは、クライアントブラウザーでJavaScriptが有効になっているか無効になっているかに基づいて、Htmlの出力を変更する必要があります。
誰かがそれを理解するための正しい呪文を知っていますか?
graceful-degradation - Web アプリケーションの領域外でのグレースフル デグラデーション: それはどれほど重大な問題か?
あいまいさと混乱を避けるために、シーンを適切に設定しようとしているだけです。
Web アプリケーションは、サーバー側ロジック用の単純なブラウザー ベースのインターフェイスから、サーバー側ロジックの必要性を最小限に抑えた完全なブラウザー ベースのアプリケーションへと成長しました。この進化は、Web アプリケーションの明確な世代を特定することで説明できます。
とりあえず、ajax の前と後の 2 世代だけを考えてみましょう。CSS のサポートや Access Control ヘッダーに関連するものなど、他にも要因は確かにありますが、簡単なことから始めましょう。
スタイルのない JavaScript のない単純なシステムから始めて、適切に機能を低下させる拡張機能のレイヤーを追加し、Ajax が満載の応答性の高い最新のアプリケーションに仕上げることは、挑戦的でエラーが発生しやすい作業です。決して簡単ではありません。
Web アプリケーションがどの世代に属しているように見えるかは、アプリケーションにアクセスする手段によって異なります。まったく同じ Web アプリケーションが、Lynx を介してアクセスした場合は第 1 世代のアプリのように見え、FireFox 3.1 を介してアクセスした場合は最新世代のアプリのように見えますが、アプリへのアクセスに使用されるユーザー エージェントに応じて、その間にいくつかのレベルが存在します。
現在のブラウザー機能を利用するために作成されたものが、おそらく 15 年前に Lynx に直面したときに作成されたものの機能に戻ってしまうという、ユーザー エージェントの機能に応じて適切に劣化する Web アプリケーションを作成するという問題は、非常に困難です。 .
デスクトップ アプリケーションが動作環境でこのような差異に直面することは想像できません。
Vista の機能を利用できる単一の実行可能ファイル (OS 固有のバリアントのセットとは対照的に) は、XP で実行され、特定の Vista 機能が欠けている場合に十分に対応できます。DOS などのコマンドラインのみの環境で実行する場合、Web アプリと同等の距離で劣化するためには、同じデスクトップ アプリケーションが機能する必要があります。
Lynx で実行します。これは第一世代の Web アプリです。同じことを FireFox 3.1 で実行すると、これはおしゃれで光沢のある現代的な Web アプリです。このような問題に直面した場合、それは挑戦的でトリッキーですが、実行可能だと考えるでしょう。
DOS で実行します。これはコマンドライン アプリです。Vista でも同じように実行できます。これは、洗練された光沢のある最新の Web アプリです。そのような問題に直面した場合、あなたはそれを正気ではないと考えるでしょう。それとも?
デスクトップ アプリケーションは、Web アプリケーションのように動作環境の多様性に直面したことがありますか?
この問題 (分散自体ではなく、分散の幅) は Web アプリケーションのドメインに固有のものですか、それともデスクトップ開発で見つけることができますか?
usability - Webアプリケーションの可能な限り最高のバージョンを提供するために、ユーザーの帯域幅をどのように知ることができますか?
私たちは、異質なユーザーベースを持つWebアプリケーションを開発しています。さらに、視覚的に魅力的な体験を提供する必要があります。したがって、このような方法でユーザー帯域幅の見積もりを取得する方法があるかどうかを知りたいので、特定のバージョンを提供するか、別のバージョンを提供するかを決定できます。
それとも、最小公分母を目指すべきですか?
関係するテクノロジーに関係なく、この場合、私はプラットフォームに依存しません(たとえば、ユーザーの機能を推定するためのフラッシュアプレットで問題ありません)。私はあなたのアドバイスを聞きたいだけです。
javascript - サーバー側のプログレッシブ エンハンスメント?
現在、私たちのページのリンクの多くはページ読み込み時に変更さhref="javascript:void(0);"
れますが、(ほとんどのユーザーがそうであるように) せっかちな場合は、ページが読み込まれる前にリンクをクリックして、よりぎこちない、非 JavaScript、非 Ajax ページに移動できます。
私は最近プログレッシブ エンハンスメントについて多くのことを考えており、大部分のユーザーは JavaScript を有効にしていると予測しています (まだデータがなく、まだアルファ版をリリースしていません)。
ユーザーがセッションで JavaScript を有効にしていることを示す何らかのインジケーターを生成し、JavaScript を想定したページを提供するのは悪い考えですか? (つまり、サーバーをhref="javascript:void(0);"
最初から置いておく)
javascript - プログレッシブ エンハンスメント、ページがまだ完全にロードされていないときの動作
jQuery で完全に実装されたプログレッシブ エンハンスメントを使用してサイトを開発しています。
たとえば、onclick イベント ハンドラーをアンカー タグに動的に追加して、SoundManager を使用してリンクされた MP3 ファイルを「インライン」で再生し、$(document).ready(function()) を介して YouTube リンクの Youtube プレーヤーをポップアップします。
ただし、ページの読み込み中にユーザーがそれらをクリックすると、拡張されていないバージョンが表示されます。
関連するものを (display: none などを介して) 非表示にし、ロード時に表示するか、モーダルな「ロード」ダイアログを配置することを考えましたが、どちらもハックのように聞こえます。
より良いアイデアはありますか?ここで完全に明らかな何かが欠けているように感じます。
よろしく、
アレックス
javascript - プログレッシブ エンハンスメント トリック
すべての人に役立つウェブサイトをデザインするには真の芸術があり、プログレッシブ エンハンスメントは実際に私にとってマントラです...
ブラウザ、OS、JavaScript、フラッシュ、画面解像度、無効化されたユーザー アクセシビリティなどに関係なく、すべての人が Web サイトを機能させるために使用した最高のトリックは何ですか?
(私は JavaScript とブラウザのトリックについてはよく知っていますが、フラッシュなどについては無知であることを認めます。)
編集: 私は、javascript やフラッシュなしでは単に機能できない RIA であるサイトの 1% について話しているわけではありません。js なしで Google ドキュメントを作成する方法を尋ねているわけではありません。クールなことはできるけど実際には必要ないサイトで、人々が何をしているのか知りたいです。
私は答えとして私自身のいくつかを提供します...