2013-10-01 19 views
5

tarihinde çizelgeleri ile ilgili bir sorun bugün çok biz js dosyasını yüklemek olamazsa incelikle başarısız çalışıyoruz yoktu. İnce aşağıdaki çalışır:Yükleme Google jsapi uyumsuz

<script type="text/javascript" src="https://www.google.com/jsapi?autoload=%7B%22modules%22%3A%5B%7B%22name%22%3A%22visualization%22%2C%22version%22%3A%221.0%22%2C%22packages%22%3A%5B%22corechart%22%5D%7D%5D%7D"></script> 

sorun zaman aşımına komut bekliyor gibi başka kod çalıştırma engeller olmasıdır.

yükleri aşağıdaki kod,

<script type="text/javascript"> 
$.ajax({ 
    url: 'https://www.google.com/jsapi?autoload=%7B%22modules%22%3A%5B%7B%22name%22%3A%22visualization%22%2C%22version%22%3A%221.0%22%2C%22packages%22%3A%5B%22corechart%22%5D%7D%5D%7D', 
    dataType: 'script', 
    cache: true, // otherwise will get fresh copy every page load 
    success: function() { 
     google.load("visualization", "1", {packages:["corechart"]}); 
    } 
}); 
</script> 

ama hataları ben

var data = new google.visualization.DataTable(); 

gibi bir görselleştirme kullanmayı deneyin Mümkün ne yapıyorum mi yoksa problemiyle sıkışmış Google sorunları olması halinde, sadece zaman aşımı ve hareket etmek js dosyası için beklemek zorunda?

Teşekkürler! o AJAX indirilmeden kez

cevap

1

Senaryonuz çalıştırmaz. Sen $.getScript() kullanmak istiyorum:

$.ajaxSetup({ cache: true }); 
var url = 'https://www.google.com/jsapi?autoload=%7B%22modules%22%3A%5B%7B%22name%22%3A%22visualization%22%2C%22version%22%3A%221.0%22%2C%22packages%22%3A%5B%22corechart%22%5D%7D%5D%7D'; 
$.getScript(url, function() { 
    google.load("visualization", "1", {packages:["corechart"]}); 
}); 
+0

üzgünüm. Bana e-posta göndereceğini düşündüm. Sonra soruyu unuttum. Maalesef drawChart kodu sadece bazı sayfalarında ve daha sonraki bir zamanda gerçekleşir, bu yüzden biz bu sayfaları yavaşlayacağını biz gerektiğinde hemen önce senaryoyu, yüklemeyi deneyin sürece bu işe yarayacağını sanmıyorum. –

4

başarı üzerinde google.load işlevini çağırarak yaptığınızdan, ?autoload=... şeyler gereksiz olduğunu.

Sadece //www.google.com/jsapi için url değiştirmek ve drawChart kod zaman corechart tamamlanana denir emin olmak için load çağrısına bir 'callback' ekleyin.

Burda bu JSFiddle ve kod parçacığı: yığın taşması yazabilmek için yeni, http://jsfiddle.net/c56pC/2/

<script type="text/javascript"> 
$.ajax({ 
    url: '//www.google.com/jsapi', 
    dataType: 'script', 
    cache: true, 
    success: function() { 
     google.load('visualization', '1', { 
      'packages': ['corechart'], 
      'callback': drawChart 
     }); 
    } 
}); 
</script> 
+0

, Maalesef yığın taşması yazabilmek için yeni. Bana e-posta göndereceğini düşündüm. Sonra soruyu unuttum. Maalesef drawChart kodu sadece bazı sayfalarında ve daha sonraki bir zamanda gerçekleşir, bu yüzden biz bu sayfaları yavaşlayacağını biz gerektiğinde hemen önce senaryoyu, yüklemeyi deneyin sürece bu işe yarayacağını sanmıyorum. –