içinde ağrılı bir şekilde yavaş yavaş XP için IE8'deki konum karma değerini değiştirmeyle ilgili sorun yaşıyorum. basitçe çağırarak:window.location.hash atama, IE8
self.location.hash = "whatever"
yaklaşık 800ms ~ 1800ms
Bunu yavaşlatabilir hiçbir fikrim yok sürer. Aynı talimatları başka sitelerde de kontrol ettim ve o kadar yavaş değil.
Herhangi bir ipucu ne kadar yavaş yapabilir? Üzgünüm, ancak çevrimiçi bir örnek veremem. DÜZENLEME
: İşte IE konsolunda olsun nedir, girdi:
console.log(new Date().getTime());
self.location.hash = "sfdsd";
console.log(new Date().getTime());
çıkışı:
Ben doğru okursanız tek için, neredeyse 2000 ms yaparJOURNAL : 1326468325447
JOURNAL : 1326468327390
undefined
atama: /.
EDIT2:
profileThat 2 3475,00 3475,00 hidden 4 50,07 50,07 http://192.168.0.30/kw5/js/jquery/jquery-1.6.2.js 6 608 eventHandle 8 3525,07 40,06 http://192.168.0.30/kw5/js/jquery/jquery-1.6.2.js 2 595 get 4 20,03 20,03 http://192.168.0.30/kw5/js/jquery/jquery-1.6.2.js 6 419 get 6 10,01 10,01 http://192.168.0.30/kw5/js/yui2/dom/dom.js 96
Edit3: iki tıklama ile
var profileThat = function() {self.location.hash = "whatever"};
$('#keywatchHeader').click(profileThat);
profilci sonuçları: yeterince berrak, daha preofiled kod görünmüyor beri :
Ağacın düğüm sayısında bazı merak testleri yaptım ve sonuçlar şaşırtıcı. Böyle bir çağrı sonra: bundan sonra
document.getElementsByTagName('*').length; //3621
$('#keywatchPanels').children().remove();
document.getElementsByTagName('*').length; //332
profilci 600ms yerine çağrı başına 1700ms verir! Ama neyse ki node numarası ile hashtag yazımını etkileyecektim.
(edit4)
: Bu ilgili soruyu bulduk: (ama burada cevap sadece "kaldırmak" olduğu) Why is this piece of Javascript code so slow?
Nihayet
Sayfanız ne kadar büyük? Hash kontrol eden başka bir kod var mı? – epascarello
Tam olarak ne demek büyüktür? piksel genişliği, ağırlık, elemanlar?Yığın kontrolünü yapan YUI2 tarih yöneticisi var, ama bu kodu, kod veya konsolda oluşturmama rağmen o kadar çok zaman harcayan bu talimat. – BiAiB
Bunu yeniden oluşturamıyorum. IE8.0.6001.18702 üzerinde yaklaşık 100ms alır. Performansı nasıl ölçtün? [IE script profiler] 'ı kullandınız mı (http://msdn.microsoft.com/en-us/library/dd565629%28v=vs.85%29.aspx#_start)? Hem IE script profiler hem de "algı" ile – user123444555621