javascript - 理想的后备方法应该是什么?

标签 javascript ajax

如果启用了 JavaScript,我将使用 Ajax 来调用特殊文件;如果禁用了 JavaScript,则会加载常规文件。

我的代码是这样的:

    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";
        }
      }
    }

第一个 block 中理想的后备方法应该是什么?

更新: 后备方案是针对浏览器的。如您所见,这些命令适用于 IE 和普通浏览器。我想知道如果上帝禁止某些浏览器不理解这两个命令的 ant 那么怎么办?

最佳答案

如果 JS 可用,AJAX 极有可能可用,所以这不是您需要经常处理的事情,但如果您正在寻找 AJAX 不可用时的后备(我猜您是这样的)来自您的代码示例),那么唯一真正的方法就是确保您的页面在没有它的情况下也能正常工作。

链接应该指向适当的页面(或者只是重新加载当前页面),然后用 JS 覆盖以使用 AJAX(但前提是 AJAX 可用)。这样,即使 JS 不可用,您也将拥有一个正常运行的网站,更不用说 AJAX 不可用了。

根据this site,让您了解缺乏 AJAX 支持时问题有多么小。支持 AJAX 的浏览器包括:

  • Internet Explorer 5.0 及更高版本
  • Opera 7.6 及更高版本
  • Netscape 7.1 及更高版本
  • Firefox 1.0 及更高版本
  • Safari 1.2

如您所见,这是一些非常古老的东西。

关于javascript - 理想的后备方法应该是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18097774/

相关文章:

javascript - 添加/删除选择框 jquery javascript

javascript - $anchorScrollProvider.disableAutoScrolling() : undefined is not a function

javascript - 根据另一个下拉列表中的选择从数据库中拉取下拉选项

javascript - 使用 ajax 加载在 DOM 中删除 JQuery 后仍然会触发

javascript - Raphael 绘图和 Ajax 调用问题

javascript - 使用javascript按值获取选择选项

javascript - 网站链接按钮在 IE 中不起作用

jquery - 环回: POST an array of objects through ajax

php - 使用 AJAX 提交表单不会 POST 到数据库

javascript - 使用curl进行ajax查询