問題タブ [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.

0 投票する
3 に答える
165 参照

javascript - このコンテンツをJavaScriptで段階的に拡張するにはどうすればよいですか?

この問題の背景は、入力用のいくつかのドロップダウンボックスと、ユーザーが日付を入力できるテキスト入力を含むコンピューティングプロジェクトを行っていることです。

YUIを使用してフォームを拡張したので、カレンダー入力はYUIカレンダーウィジェットを使用し、ドロップダウンリストは入力の水平リストに変換されます。ユーザーは2回クリックするのではなく、1回クリックするだけで入力を選択できます。ドロップダウンボックス(それが理にかなっていることを願っています、それを明確に説明する方法がわかりません)

問題は、私のプロジェクトの設計セクションで、プログレッシブエンハンスメントの原則に従うと述べたことです。ただし、JavaScriptを使用していないユーザーが、そのページのドロップダウンボックス/テキスト入力を表示できるようにするのに苦労しています。

これは、必ずしも方法がわからないためではありませんが、私が試した2つの方法では不十分なようです。

方法1 -YUIを使用してテキストボックスとドロップダウンリストを非表示にしようとしましたが、これは理想的な解決策のように見えましたが、ページの読み込み時に(特に初めて)、テキストボックスとドロップダウンリストにかなりの遅延がありました。少なくとも1秒間表示されます。bodyタグの終わりの直前にこのスクリプトを含めましたが、YUIを使用してオンロードで実行する方法はありますか?それは役に立ちますか?

方法2 -noscriptタグを使用します。。。ただし、これは簡単な解決策ですが、noscriptタグに関するさまざまな悪い点を読んだことがあるため、これを行うのは嫌です。

メソッド1を機能させる方法はありますか?それとも、私がまだ遭遇していない、これを行うためのより良い方法はありますか?

0 投票する
7 に答える
5382 参照

jquery - jQuery AJAXに非javascript(非ajax)フォールバックを持たせますか?

最新のプロジェクトでかなりの量の作業を完了しましたが、少し問題があることに気付きました: Javascript 対応のブラウザーを使用していない場合は、フォームを送信できません。 AJAX を使用して送信します。

皆さんへの質問: Javascript が有効になっていない場合でもフォームを送信できるように、何らかの「フォールバック」を実装するにはどうすればよいですか。

現在、ヘッダーに沿って「最適な (「最適な」とは、「実際に動作する」という意味です) エクスペリエンスを得るには、ブラウザで Javascript を有効にしてください」というバナーがあります。しかし、それは最適な解決策ではないようです。

ありがとう!

0 投票する
3 に答える
290 参照

javascript - プログレッシブエンハンスメントを維持しながらjqueryで切り替える要素を非表示にする方法

私が見つけることができたすべての答えは、display:noneをcssに追加することをお勧めしました...しかし、JavaScriptを使用しないユーザーの場合、要素は表示されません。

最近では、DOM が終了する前にページのレンダリングが開始されるため、ページの読み込み中に表示されたり消えたりする要素が引き続き発生します。

体の上部はハックしすぎているようです。

0 投票する
2 に答える
338 参照

javascript - 国と州の選択フィールドを段階的に拡張するにはどうすればよいですか?

これを適切に行うWebサイトを見たことがありません...

の 2 つの選択フィールドがある場合、次のようにコーディングします。

次に、国の選択に応じて、AJAX を使用して州フィールドに入力します。

ただし、これは徐々に強化された状態です。Javascript を使用せずにどのように行うのでしょうか? また、どのように拡張する必要がありますか (前の例が最善の方法ではない場合)。

0 投票する
2 に答える
414 参照

jquery - jquery .load を使用してコンテンツを取得するときのオーバーライド

0 投票する
3 に答える
804 参照

c# - を使用したプレーンな古いHTTPGET
ASP.NETでタグ付け

マスターページを使用するプログレッシブエンハンスメントを使用して構築されたWebFormsサイトがあります。明らかに、タグはASP.NETによってデフォルトで挿入されるため、ポストバックを管理できます。

私は次のことをする方法が必要です

明らかに、.NETは外部でリクエストをインターセプトし、それ自体にポストバックしています。これはJavaScriptで実行できますが、その後、Webサイトのプログレッシブエンハンスメントポリシーに違反します。これは、リダイレクトを管理するためのASP.NETサーバーコントロールを基本的に構築しないと不可能ですか?

ありがとうマーティン

0 投票する
1 に答える
182 参照

jquery - アタッチpreventDefault; to .live('click'、function()

(function (e) { e.preventDefault; に追加しよう とすると、sytaxエラーが発生し続けます

使用するときにそれを組み合わせる方法がわからない.live、私はその何かが本当に単純であることを知っていますが、私はそれを得ることができません、どれも非常に高く評価されています

0 投票する
3 に答える
698 参照

java - Android のプログレッシブ エンハンスメント?

Android apk のビルド時にプログレッシブ エンハンスメントを使用することは可能ですか。SDK 8 + (ジンジャーブレッドが主要な Android バージョンです) で使用できるアプリを構築し、可能であれば新しいバージョンから機能を追加したいと考えています。

条件付きで何かを行うためにSDKバージョンを取得できることはわかっていますが、SDK_INT新しいバージョンで導入された機能を使用すると、最小SDKレベルを上げる必要があると言ってEclipseをビルドできません。
おそらく、私の Web 開発のバックグラウンドが、これが可能であると考えている理由です。根本的に不可能である可能性があります。人気のあるアプリには、SDK ごとに異なるバージョン (min8-max10、min11-max15 など) がありますか? Android Java コードのプログレッシブ エンハンスメントは可能ですか?

0 投票する
2 に答える
122 参照

testing - Capybara で段階的に強化された機能をテストする

私は Capybara を使用して、徐々に強化された Web サイトの機能をテストしています。私の機能が場所の階層をナビゲートすることだとしましょう。非 JavaScript バージョンでは、さまざまな場所をクリックすると新しいバージョンのページが取得されます。強化された JavaScript バージョンは、非表示の要素を開いたり、Ajax を介して新しい情報をロードしたりします。

次のような非 JavaScript バージョンのテストを作成することから始めます。

デフォルトの機械化ドライバーを使用すると、テストが失敗し、機能を開発すると、テストに合格します。

次に、@javascript でフラグを立てて、javascript バージョンの同一のテストを作成します。javascript ドライバーを使用してテストを実行し、機能が実装されているため、そのテストに合格します。(非 js フローを実行しています)。ただし、機能がまだ Javascript で拡張されていないため、この時点で JavaScript バージョンのテストが失敗することを望みます。

そのため、新しいページ全体がサーバーから送信されたかどうかを判断し、両方のバージョンの機能が機能することを確認するための優れた戦略を探しています。(これを pushState と統合する予定なので、変更された URL のテストは実行されません)

0 投票する
1 に答える
138 参照

javascript - AJAX サイトをクロール可能にし、JS を無効にして適切に劣化させることは可能ですか?

この仕様によると、AJAX サイトを Googlebot がクロールできるようにするということは、ハッシュバン (#!) リンクを使用する必要があることを意味します。これは、JS がオフになっているときに正常に低下しないことを意味します (または、オンになっているときに徐々に強化されます)。これは、この場合、クロール可能性とグレースフル デグラデーション/プログレッシブ エンハンスメントが相互に排他的であることを意味している可能性があります。実際そうですか?それについて何かできることはありますか?

注: 透明性を保つために、この質問はPro Webmasters サイトでも行われましたが、純粋にプログラム的な観点からも興味深いと思います。