it-swarm-tr.com

JS kapalıyken çalışmama pahasına hız artışı

Şu anda standart img etiketleri kullanarak görüntüleri yükleyen bir resim galerisi var ve çok sayıda büyük görüntü olduğundan oldukça yavaş yükler.

Sayfa yüklendikten sonra galeri komut dosyası resimleri dinamik olarak yükleyerek işleri hızlandırabilirim. Bunu test ettim ve önemli bir performans kazancı var. Sorun, kullanıcı JS'yi devre dışı bırakmışsa, resim yüklenmez.

Yani soru şu ki, JS devre dışı bırakılmışsa sayfanın çalışmaması pahasına performans kazanmak değerli bir takas mıdır?

Bu özel durumda noscript etiketini kullanacağımı düşünüyorum, ama html çıktısının kontrolüne sahip değilsem (CMS'de söyleyin).

2
Sruly

Bazı hızlı düşünceler:

  • Kullanıcı arayüzünüzü, N'den fazla resim yüklemenize gerek kalmayacak şekilde yeniden tasarlayın. Örneğin, sayfalandırmayı tanıtın.
  • Birçok tarayıcı yalnızca kullanıcı tarafından görülebilen resimler oluşturur. Diğer görüntüleri ekran dışında veya taşan bir div öğesine taşıyarak gizlemeyi düşünün: gizli veya başka bir şey.
  • İlk N görüntüyü sayfa yüküne, sonra kalanını yükleyin. Geri kalan görüntülerin yüklenmesi javascript gerektirir ve JS'yi etkinleştirmemiş birkaç kullanıcı için sayfalandırma ekleyen bir noscript etiketi ekleyebilirsiniz.
  • Karşılaştığınız görüntülerin türüne bağlı olarak, görüntüleri bir Sprite sayfasına birleştirin ve yalnızca doğru parçaları göstermek için CSS'deki arka plan konumunu kullanarak hepsini arka plan görüntüsü olarak yükleyin. Ön yükleme süresi ağır, ancak önbelleğe alınabilir olacaktır.

Nihayetinde JS'nin kapatılmasının değerli bir çıkış olup olmadığı konusunda cevap veremem çünkü izleyicilerinizin ne olduğunu bilmiyorum. Daha fazla bilgiye ihtiyacım var. Çalıştığım web sitelerinin çoğunda, ilerici geliştirmeye yönelme eğilimindeyiz. Bu yüzden listemdeki üçüncü örnek muhtemelen gideceğim örnek olacaktı.

4
Rahul

JS'nin resim yüklemesini hızlandırmasını istemek yerine, galeriyi görüntülemek istediğinizde zaten yüklenmiş olacak şekilde görüntüleri başka bir sayfanın sonuna yüklersiniz. Sadece görüntülerin tüm önemli içeriğin peşinde olduğundan ve önbellekleyebilmesi için aynı adları kullandığınızdan emin olmak istiyorsunuz.

JS ile yükleme yapmak istiyorsanız, önce JS'yi kontrol etmenizi ve JS'yi destekliyorlarsa dinamik yükü kullanmanızı ve JS'leri yoksa bir standarda düşmenizi öneririm.

1
LoganGoesPlaces

Bunu aşamalı olarak yapabilirsiniz. Yani, ilk HTML şimdi olduğu gibi IMG etiketlerini çıkarır. Ancak hemen yüklendiğinde, jQuery'niz tetiklenir ve IMG etiketlerini özel yükleyicilerinizle dinamik olarak değiştirir. Her iki dünyanın en iyisi.

1
Chase Seibert

Büyük şirketler bile Javascript kullanmaya başlıyor. Örneğin, IE'de Javascript kapalıysa, Google Chrome'u bile indiremeyeceğinizi biliyor muydunuz? Accept and Install düğmesi çalışmıyor. Bu metni biraz ekranın üst kısmında gösterirler:

Bu yazılımı indirmek için JavaScript özellikli bir tarayıcıya ihtiyacınız var. Talimatlar için burayı tıklayın Tarayıcınızda JavaScript'i nasıl etkinleştireceğiniz konusunda.

Şahsen Javascript gereksiniminin bu senaryo için bir hata olduğunu hissediyorum, ama konuyu inceliyorum.

Tabii ki kitlenize bağlı ama son birkaç yıldır Javascript'in çalışmasını gerektiren oldukça az sayıda web arayüzü inşa ediyorum.

Geriye kalan tek endişe SEO. Galerinizdeki resimlerin Google tarafından dizine eklenmesini istiyorsanız, HTML'de görünmeleri gerekir.

1
Steve Wortham

"Ya Javascript Kapalıysa" sorusu kendi başına yaşaması gereken bir sorudur. Uygulamanızın/sitenizin JS kapalıyken hala kullanılabilir olduğundan emin olsanız da, kitlenizin kim olduğunu da düşünmelisiniz. Dürüst olmak gerekirse - 2010 ve web geliştiricilerinin bu konuyu düşünmesine bile gerek yok (artık yok).

Kullanıcılarınızın JS'nin açık/kapalı olup olmadığını anlamak için analitiği kullanın. Kullanıcılarınızın% 5'inden azı geçici bir çözümde zaman kaybetmez.

1
abrudtkuhl