innerHTML работает в IE и Firefox, но не в Chrome - PullRequest
7 голосов
/ 24 декабря 2011

Данные не будут отображаться в Chrome, если я не открою вкладку IE в Chrome, перейдите на сайт и закройте его обратно в 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, поэтому на самом деле я мало что знаю об этом.

Ответы [ 3 ]

8 голосов
/ 24 декабря 2011

Вы должны использовать какую-нибудь современную библиотеку 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);
  });
});

Короче, чище и работает во всех браузерах!

0 голосов
/ 15 мая 2013

Просто найдите, что удален только первый тег формы, чтобы вы могли поместить пустую форму (), а следующий - сохранить в коде.

0 голосов
/ 24 декабря 2011

Я думаю, что вы хотите использовать:

request.onreadystatechange = function() {

вместо:

request.onload = function() {

И изменить способ проверки возвращаемого значения.

См. АсинхронныйПример кода запроса здесь: https://developer.mozilla.org/en/DOM/XMLHttpRequest/Using_XMLHttpRequest для более подробной информации.

...