【问题标题】:innerHTML works in IE and Firefox, but not ChromeinnerHTML 适用于 IE 和 Firefox,但不适用于 Chrome
【发布时间】:2012-01-27 02:55:26
【问题描述】:

数据不会显示在 Chrome 中,除非我在 Chrome 中打开一个 IE 选项卡转到该站点然后将其关闭回 Chrome(抱歉,如果这没有多大意义)。

window.onload = function() {
    var url = "http://----.freeiz.com/gbSales/sales.json";
    var request = new XMLHttpRequest();
    request.open("GET", url);
    request.onload = function () {
        if (request.status == 200) {
            updateSales(request.responseText);
        }
    };
    request.send(null);
}
function updateSales(responseText) { 
    var salesDiv = document.getElementById("sales");
    salesDiv.innerHTML = responseText;
}

我刚开始学习 JavaScript,所以我真的不太了解它。

【问题讨论】:

    标签: javascript google-chrome innerhtml


    【解决方案1】:

    您应该使用一些现代的 Javascript 库。它可以保护您免受浏览器之间的许多细微差异的影响。我喜欢jQuery

    所以,用 jquery 你的代码

    window.onload = function() {
      var url = "http://----.freeiz.com/gbSales/sales.json";
      var request = new XMLHttpRequest();
      request.open("GET", url);
      request.onload = function () {
        if (request.status == 200) {
          updateSales(request.responseText);
        }
      };
      request.send(null);
    }
    function updateSales(responseText) { 
      var salesDiv = document.getElementById("sales");
      salesDiv.innerHTML = responseText;
    }
    

    变成

    $(document).load(function() {
      var url = "http://----.freeiz.com/gbSales/sales.json";
    
      $.get(url, {}, function(data) {
        $('#sales').html(data);
      });
    });
    

    更短、更简洁,适用于所有浏览器!

    【讨论】:

    • 顺便说一句,如果一个问题对你有用,你应该接受它(左边那个复选标记)
    【解决方案2】:

    我想你想用:

    request.onreadystatechange = function() {
    

    代替:

    request.onload = function() {
    

    并更改检查返回值的方式。

    请参阅此处的异步请求代码示例:https://developer.mozilla.org/en/DOM/XMLHttpRequest/Using_XMLHttpRequest 了解更多详情。

    【讨论】:

      【解决方案3】:

      只发现只有第一个form标签被去掉,所以可以放一个空的form(),下一个保留在代码中。

      【讨论】:

        猜你喜欢
        • 2012-02-14
        • 2015-05-07
        • 1970-01-01
        • 1970-01-01
        • 2016-01-29
        • 1970-01-01
        • 2013-04-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多