2011-12-23 13 views
7

I dati non verranno visualizzati in Chrome, a meno che non apro una scheda IE in Chrome vai al sito e poi lo chiudo a Chrome (scusa, se questo non ha molto senso).innerHTML funziona in IE e Firefox, ma non 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; 
} 

Sto appena iniziando a imparare JavaScript, quindi non ne so molto.

risposta

8

Dovresti utilizzare una moderna libreria Javascript. Ti protegge da molte di quelle piccole differenze tra i browser. Mi piace jQuery.

Così, con il codice 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; 
} 

diventa

$(document).load(function() { 
    var url = "http://----.freeiz.com/gbSales/sales.json"; 

    $.get(url, {}, function(data) { 
    $('#sales').html(data); 
    }); 
}); 

Shorter, più pulito e funziona in tutti i browser!

+0

Guardo in jQuery, grazie. – user1114060

+1

a proposito, se una domanda funziona per te, dovresti accettarla (quel segno di spunta a sinistra) –

+0

@SergioTulentsev – user1114060

0

Basta trovare che solo il primo tag modulo viene rimosso in modo da poter inserire un modulo vuoto() e il prossimo è mantenere nel codice.

Problemi correlati