Kaydol

Merhaba Sevgili Floodlar.com Kullanıcısı, Web sitemizde geçirdiğiniz zaman ve bu büyüleyici flood evrenine katılımınız için teşekkür ederiz. Floodların geniş dünyasıyla dolu deneyiminizi daha fazla keşfetmek için, web sitemizi sınırsız olarak kullanabilmeniz adına giriş yapmanız gerekmektedir.

Oturum aç

Merhaba Floodlar.com Kullanıcısı, İlk üç sayfayı tamamladınız, tebrikler! Ancak, floodların devamını görmek ve daha fazla interaktif deneyim yaşamak için giriş yapmanız gerekiyor. Hesabınız yoksa, hızlıca oluşturabilirsiniz. Sınırsız floodlar ve etkileşimler sizleri bekliyor. Giriş yapmayı unutmayın!

Şifremi hatırlamıyorum

Şifreniz mi unuttunuz? Endişelenmeyin! Lütfen kayıtlı e-posta adresinizi giriniz. Size bir bağlantı göndereceğiz ve bu link üzerinden yeni bir şifre oluşturabileceksiniz.

Fil Necati Masonlar Locası Subreddit Adı Nedir? Cevap: ( N31 )

Üzgünüz, flood girme izniniz yok, Flood girmek için giriş yapmalısınız.

Lütfen bu Floodun neden bildirilmesi gerektiğini düşündüğünüzü kısaca açıklayın.

Lütfen bu cevabın neden bildirilmesi gerektiğini kısaca açıklayın.

Lütfen bu kullanıcının neden rapor edilmesi gerektiğini düşündüğünüzü kısaca açıklayın.

Mobil Uygulamada Açın

Güncel Floodlar En sonuncu Nesne

Servis çalışanları ile uyarlanabilir yükleme

Servis çalışanları ile uyarlanabilir yükleme

Kullanıcılar web sitelerine çok çeşitli cihazlar ve ağ bağlantıları aracılığıyla erişir. Mobil ağların hızlı ve güvenilir olduğu büyük şehirlerde bile, örneğin metroda, arabada veya sadece hareket halindeyken daha yavaş yükleme süreleri yaşayabilirsiniz. Gelişmekte olan pazarlar gibi bölgelerde, bu fenomen yalnızca güvenilir olmayan ağlar nedeniyle değil, aynı zamanda cihazların daha az bellek ve CPU işlem gücüne sahip olma eğiliminde olması nedeniyle daha da yaygındır.

Uyarlanabilir yükleme, sitenizi kullanıcının ağ ve cihaz koşullarına göre uyarlamanıza olanak tanıyan bir web performans modelidir.

Uyarlanabilir yükleme modeli, servis çalışanları tarafından mümkün kılınmıştır. Ağ Bilgileri API’sı, Donanım Eşzamanlılık API’sıve Cihaz Belleği API’sı. Bu kılavuzda, uyarlanabilir bir yükleme stratejisi elde etmek için hizmet çalışanlarını ve Ağ Bilgileri API’sini nasıl kullanabileceğinizi keşfediyoruz.

Üretim durumu #

toprak Brezilya’nın en büyük medya şirketlerinden biridir. Çok çeşitli cihaz ve ağlardan gelen geniş bir kullanıcı tabanına sahiptir.

Tüm kullanıcılarına daha güvenilir bir deneyim sağlamak için Terra, servis çalışanlarını ve Ağ Bilgileri API’sı 2G veya 3G bağlantılarındaki kullanıcılara daha düşük kaliteli görüntüler sunmak için.

Şirket ayrıca, reklam ağları tarafından yüklenen komut dosyalarının ve varlıkların (bannerler gibi) özellikle 3G veya daha yavaş bağlantılarda gezinen kullanıcılar için zararlı olduğunu tespit etti.

Birçok yayıncıda olduğu gibi Terra da hizmet vermektedir. AMP sürümlerini arama motorlarından ve diğer bağlantı paylaşım platformlarından gelen kullanıcılara sunar. AMP sayfaları genellikle hafiftir ve sayfanın ana içeriğine göre yüklerinin önceliğini azaltarak reklamların performans üzerindeki etkisini azaltmaya yardımcı olur.

Bunu göz önünde bulunduran Terra, sayfalarının AMP sürümlerini yalnızca arama motorlarından gelen kullanıcılara değil, sitelerini 3G veya daha yavaş bağlantılarda dolaşan kullanıcılara da sunmaya karar verdi.

Bunu başarmak için kullandıkları Ağ Bilgileri API’sı isteğin 3G’den mi yoksa daha yavaş mı geldiğini tespit etmek için hizmet çalışanında. Bu durumda, sayfanın AMP sürümünü istemek için sayfanın URL’sini değiştirirler.

Bu teknik sayesinde gönderiyorlar %70 daha az bayt daha yavaş bağlantılardaki kullanıcılara. bu harcanan zaman AMP sayfalarındaki reklamlar 3G kullanıcıları için daha yüksektir ve AMP sayfalarındaki reklamlar daha iyidir. TO (tıklama oranı) o grup için.

Workbox ile uyarlamalı yüklemeyi uygulayın #

Bu bölümde, uyarlanabilir yükleme stratejilerini uygulamak için Workbox’ın nasıl kullanılabileceğini keşfedeceğiz.

Workbox, kullanıma hazır birkaç çalışma zamanı önbelleğe alma stratejisi sağlar. Hizmet çalışanının bir mesaj aldıktan sonra nasıl bir yanıt oluşturduğunu belirtmek için kullanılırlar. fetch etkinlik.

Örneğin, bir Önce Önbelleğe Al strateji Request önbelleğe alınmış yanıt (varsa) kullanılarak yerine getirilecektir. Önbelleğe alınmış bir yanıt yoksa, Request bir ağ isteği tarafından yerine getirilecek ve yanıt önbelleğe alınacaktır.

import {registerRoute} from 'workbox-routing';
import {CacheFirst} from 'workbox-strategies';

registerRoute(
new RegExp('/img/'),
new CacheFirst()
);

Önbelleğe alma stratejileri ile özelleştirilebilir Çalışma kutusu eklentileri. Bunlar, bir isteğin yaşam döngüsü boyunca istekleri ve yanıtları değiştirerek ek davranışlar eklemenizi sağlar. Workbox, yaygın durumlar ve API’ler için birkaç yerleşik eklentiye sahiptir, ancak özel eklentive seçtiğiniz bazı özel mantığı tanıtın.

Uyarlanan yüklemeyi elde etmek için, örneğin, adı verilen özel bir eklenti tanımlayın. adaptiveLoadingPlugin:

const adaptiveLoadingPlugin = {
requestWillFetch: async ({request}) => {
const urlParts = request.url.split("http://web.dev/");
let imageQuality;

switch (
navigator && navigator.connection
? navigator.connection.effectiveType
: ''
) {
//...
case '3g':
imageQuality = 'q_30';
break;
//...
}

const newUrl = urlParts
.splice(urlParts.length - 1, 0, imageQuality)
.join("http://web.dev/")
.replace('.jpg', '.png');
const newRequest = new Request(newUrl.href, {headers: request.headers});

return newRequest;
},
};

Önceki kod aşağıdakileri yapar:

  • bir uygular requestWillFetch() geri arama: Bu, bir ağ talebi yapılmak üzereyken çağrılır, böylece Request.
  • kullanarak bağlantı türünü kontrol eder. Ağ Bilgileri API’sı. Ağın durumuna bağlı olarak, getirilecek görüntünün kalitesini gösteren yeni bir URL bölümü oluşturur (örn. q_30 3G kullanıcıları için).
  • dinamik temel alınarak yeni bir URL oluşturur. newPart değer ve yeni değeri döndürür Request bu URL’ye göre yapılacak.

Ardından, eklentiyi bir cacheFirst resim URL’lerini eşleştirmek için normal bir ifade içeren strateji (ör. /img/):

workbox.routing.registerRoute(
new RegExp('/img/'),
workbox.strategies.cacheFirst({
cacheName: 'images',
plugins: [
adaptiveLoadingPlugin,
workbox.expiration.Plugin({
maxEntries: 50,
purgeOnQuotaError: true,
}),
],
}),
);

Sonuç olarak, görüntü istekleri yakalandığında çalışma zamanı önbelleğe alma stratejisi, isteği önbellekten yerine getirmeye çalışır. Mevcut değilse, ağdan hangi görüntü kalitesinin getirileceğine karar vermek için eklentideki mantığı çalıştıracaktır.

Son olarak, yanıt önbellekte saklanacak ve sayfaya geri gönderilecektir.

Cloudinary Workbox Eklentisi #

Bir video ve resim barındırma hizmeti olan Cloudinary, Workbox Eklentisi bu, önceki bölümde açıklanan işlevselliği kapsar ve uygulanmasını daha da kolaylaştırır.

Eklenti ile çalışmak üzere tasarlanmıştır Workbox web paketi eklentisi. Bunu uygulamak için, GenerateSW() sınıf:

new workboxPlugin.GenerateSW({
swDest: 'sw.js',
importScripts: ['./cloudinaryPlugin.js'],
runtimeCaching: [
{
urlPattern: new RegExp('^https://res.cloudinary.com/.*/image/upload/'),
handler: 'CacheFirst',
options: {
cacheName: 'cloudinary-images',
plugins: [
{
requestWillFetch: async ({request}) =>
cloudinaryPlugin.requestWillFetch(request),
},
],
},
},
],
});

Önceki kod aşağıdakileri yapar:

  • kullanır GenerateSW() Web paketini, belirtilen hedefte bir hizmet çalışanı oluşturacak şekilde yapılandırmak için sınıf swDest.
  • Cloudinary eklenti komut dosyasını içe aktarır.
  • Cloudinary CDN’ye görüntü istekleri için bir Önbelleğe Alma çalışma zamanı önbelleğe alma stratejisi tanımlar.
  • geçer Cloudinary Workbox Eklentisi görüntü kalitesini ağ koşullarına göre ayarlamak için.

Daha uyarlanabilir yükleme stratejilerini keşfedin #

Cihaz sinyallerini eşleyerek bunun ötesine geçebilirsiniz. donanım eşzamanlılığı Ve cihaz hafızası cihaz kategorilerine ve ardından cihaz türüne (düşük, orta veya yüksek uç) bağlı olarak farklı varlıklar sunar.

İlgili Mesajlar

Yorum eklemek için giriş yapmalısınız.