2

JavaScriptが有効な場合はAjaxを使用して特別なファイルを呼び出し、無効な場合は通常のファイルをロードします。

私のコードは次のようなものです:

    window.onload = function() {
      document
        .getElementById("wrapper")
        .innerHTML = "<img src='cdn/img/demo/loading.gif'>";
      var x = null;
      if (window.XMLHttpRequest) {

        // code for IE7+, Firefox, Chrome, Opera, Safari

        var x = new XMLHttpRequest();
      } else if (window.ActiveXObject) {

        // code for IE6, IE5

        var x = new ActiveXObject('MSXML2.XMLHTTP.3.0');
      } else {
        // @TODO - Fallback
        // My Question : What should be an ideal Fallback method here?
      }
      x.open("GET", "js_enabled.php", true);
      x.send("");
      x.onreadystatechange = function() {
        if (x.readyState == 4) {
          if (x.status == 200)
            document.getElementById("wrapper").innerHTML = x.responseText;
          else
            document.getElementById("wrapper").innerHTML = "Error loading document";
        }
      }
    }

最初のブロックで理想的なフォールバック方法は何ですか?

更新: フォールバックはブラウザ用です。ご覧のとおり、これらのコマンドは IE および通常のブラウザー用です。神が一部のブラウザを禁止しているかどうかを知りたいのですが、これらの2つのコマンドのアリを理解していません。

4

2 に答える 2

4

AJAX は、JS が利用できる場合に利用できる可能性が非常に高いため、頻繁に対処する必要はありませんが、AJAX が利用できない場合のフォールバックを探している場合 (私はあなたがあなたの出身であると推測しています)コード例)、それを行う唯一の実際の方法は、ページがそれなしで正常に機能することを確認することです.

リンクは適切なページ (または単に現在のページのリロード) を指し、次に AJAX を使用するように JS で上書きする必要があります (ただし、AJAX が使用可能な場合のみ)。そうすれば、たとえ JS が利用できなくても、ましてや AJAX が利用できなくても、機能するサイトを持つことができます。

このサイトによると、AJAX サポートがない場合の問題がどれほど小さいかを示すために、AJAX サポートを含むブラウザーには次のものがあります。

  • Internet Explorer 5.0 以降
  • Opera 7.6 以降
  • Netscape 7.1 以降
  • Firefox 1.0 以降
  • サファリ 1.2

ご覧のとおり、かなり古いものです。

于 2013-08-07T08:04:42.140 に答える
0

JavaScript が無効になっていると混乱しますが、フォールバック方法はありません。JavaScriptの有効化/無効化を意味すると仮定します。

次に、領域をデフォルトのテキストで埋め、js を使用して非表示にします。
したがって、JS が有効になっていない場合、デフォルトのテキストがユーザーに表示されます。
jsが有効になっている場合、デフォルトのテキストはレンダリングされるとすぐに非表示になり、その後ajaxが引き継ぎます

于 2013-08-07T08:04:29.150 に答える