2014-04-15 13 views
6

Modern web tarayıcılarında belge yeniden akışlarını ve/veya boyamaları algılamak için güvenilir bir yol olup olmadığını veya bunu W3 özelliklerine yerleştirebilecek herhangi bir şeyin ilgisini çektiğini bilmek isterim.yeniden düzenle/rötuş algılama: Olası bugün? Gelecekte mümkün mü?

Ayrıca, standart veya tarayıcılar arası bir şekilde mümkün değilse, satıcıya özgü hileleri (örn. Mozilla'nın bir MozAfterRepaint olayı olduğu gibi) kullanarak nasıl başarılabileceğini bilmek isterim.

Teşekkürler.

+0

kare hızları değişebilir çünkü öngörülemeyen olduğu gibi, bu olayı yakalamak için hiçbir gerçek neden yoktur. Yeniden çizme döngüsüne yaklaşmak için 'requestAnimationFrame' öğesini kullanın. – Populus

+0

http://stackoverflow.com/questions/7006152/how-do-we-investigate-how-many-times-a-browser-is-doing-reflows adresinin olası dupe'si – Patrick

cevap

-1

Sen doğru ölçemez ama, bir alıcı veya stil, canlandırma ayarlayıcı/değiştirici herhangi javascript bakarak ekleme/elemanlarında sınıfları kaldırarak tahmin edebilirsiniz. Bu javascript dizeleri almak için sayfadaki tüm javascript ajax ve sonra nerede olduklarını tespit etmek için normal ifadeler kullanmak için javascript kullanılarak yapılabilir. Bunu yapan tüm yöntem adlarının bir nesnesini oluşturun.

Gerçek zamanlı olarak yakalamak istiyorsanız, yukarıdaki aracıların bir bileşimini kullanabilir ve sayfadaki tüm yöntemleri kullanarak kendi arabulucunuzu aramak için yukarıdaki nesne başvurunuzla evlenebilirsiniz.

+1

Yeniden boyamaları ve/veya yeniden akışları tespit etmek için statik kod analizi ? Bu kadar ileri kim giderdi? Ayrıca, bu sadece repaints ve/veya kan akışları neden olabilir kod noktalarını doğuracak, ama yine de bu tür kod noktaları ulaşıldığında şekilde tahmin etmesi gerekir. Diğer bir deyişle, etkinlik tetikleyicileri eklemek için kodu değiştirmeniz gerekir. Ve yine de, JavaScript, repaints/reflow'lara neden olabilecek tek şey değil. Üzgünüm, ama bu delice bir teklif. –

+0

O kadar daha iyi hata ayıklama ve kötü çerçeveler daha iyi performans ve özgürlüğe inanan çünkü gider. Ne zaman yeniden neyin neden olduğunu bilirseniz, o zaman iş yapılır. Javascript, sayfadaki css'yi tespit edebilir - hesaplanan aswell. Dom'a tam erişiminiz var. Mümkün ama kolay olacağını söylemedim. geliştiricinin deneyimine bağlıdır. –

İlgili konular