Dün yeni bir mini projede çalışıyorum: www.mexicans.eu. Sadece bir şey yapan bir site: Meksikalı bir şarkı olan Jarabe oynamak. Kapının açılması veya kapanması için sayfanın ortasında bir kapı vardır. Kapıyı kapatmak, Meksika şarkısı üzerinde bir filtre ayarlar. Sadece bazı basit web siteleri devam ediyor.XMLHttpRequest Google Chrome'u gerçekten yavaşlatıyor
Sorun, Google Chrome'da yükleme süresidir.
_loadDoorSound: function(url, onload) {
var startTime = new Date().getTime();
var request = new XMLHttpRequest();
request.open('GET', url, true);
request.responseType = 'arraybuffer';
request.onload = function() {
var loadTime = new Date().getTime() - startTime;
console.log("Loaded sound in " + loadTime + " milliseconds");
console.log("Decoding sound");
this.ctx.decodeAudioData(request.response, function(buffer) {
this.AUDIO.buffer = buffer;
this.onload();
console.log("Decoded sound");
}.bind(this));
}.bind(this);
console.log("Loading sound");
request.send();
}
Google Chrome'un yükleme süresi 14 saniyede gerçekleşiyor. Firefox’ta yaklaşık 300 milisaniyeye ulaşır. Ancak
. Sayfayı yerel olarak sunduğumda, Google Chrome, Firefox gibi hızlı bir şekilde yükler. Ancak ses, sunucudan yüklendiğinde Google Chrome neden bu kadar garip şekilde yavaşlıyor? Not: IE, Webaudio API'sini desteklemediğinden ve bilinmeyen nedenlerle Safari için değil, Internet Explorer için henüz çalışmaz.