2

JS が有効になっている場合、ページの読み込み時または更新時にテストする方法は知っていますが、リフローごとにこれを行うことは可能ですか?

JS が有効になっているときにページが読み込まれるが、ブラウザー セッション中には無効になるとします。その後、ユーザーが実行した JS 依存のアクションはすべて失敗します。テストの結果、たとえば、これらの変更が有効になる前に Chrome を更新する必要があることがわかりましたが、Firefox は即座に適用されました。そのため、JS が無効になったときに元は正常に機能していたサイトが壊れ、ページの読み込み時に有効になるフォールバックが開始されませんでした。

これを些細な問題と呼ぶ人もいるかもしれません。この問題を解決できるフォールバックがあると確信していますが、リフローごとにページの状態をテストすることは可能ですか?

さらなるアイデア/提案/フォールバックの例を歓迎します。非 JQuery は大歓迎です。ありがとう!

4

1 に答える 1

0

ページで JS が無効になっている場合、ページを「修正」するために実行できるクライアント側のアクションはありません。JS が無効になっていると実行されないため、ハンドラーのようなものを関連付けることはできません。

一般に、無効化された JS のフォールバックを提供したいサイトは、JS を使用して機能を増強し、機能を強化します。

以下は、JavaScript が突然無効になった場合に回復するための限定的ではありますが、創造的/ハッキー/オリジナルな方法です。

ページ全体をカバーする非表示のリンクを DOM に配置します。このリンクは、JavaScript を必要としないバージョンのページ (最悪の場合、JavaScript を有効にする必要があることをユーザーに通知するページ) へのリンクです。明らかに、リンクのデフォルト アクションは JavaScript によって無効になっています。JavaScript を使用して、その下の要素に対して発生するすべてのイベントを再トリガーします。JavaScript が無効になっている場合はいつでも、それ以降のクリックはスクリプトなしのページに移動します。明らかに、これはクリック以外のイベントでは機能せず、かなり面倒ですが、目的に最も近いものです。

別のアイデアは、JavaScript でメタリダイレクトを操作することです (常に 1 秒後にリダイレクトが発生し、JS でさらに 1 秒後に発生するように変更するなど)、明らかにそれは機能しません

于 2014-03-23T21:40:18.133 に答える