CodeBlanks Logo Icon CodeBlanks

Reporting API

JavaScript kursu · Uzman · Ders 15/63

Reporting API ile tarayıcı raporlarını toplamayı öğrenirsin.

Reporting API

Reporting API tarayıcının ürettiği uyarı ve raporları toplar. Eski bir API kullanınca deprecation, tarayıcı bir müdahale yapınca intervention, sayfa çökünce crash ve bir politika ihlal edilince violation raporu oluşur. Bunları ReportingObserver ile yakalarsın.

Önce bir callback yazarsın; callback reports dizisi alır. Sonra new ReportingObserver(callback, { types: [...], buffered: true }) ile gözlemciyi oluşturur, observe() ile başlatırsın. Raporlar geldikçe callback çağrılır.

ReportingObserver seçenekleri

İkinci argüman bir seçenekler nesnesidir. types dizisi hangi rapor türlerini dinleyeceğini söyler: 'deprecation', 'intervention', 'crash' veya 'violation'. Hepsi için ayrı observer oluşturmak yerine tek bir dizi yeterlidir.

buffered: true eklersen, sayfa açılışından beri biriken raporlar da gelir. Bu, sayfa yüklenirken oluşan eski uyarıları kaçırmamanı sağlar. Gözlemi bitirince disconnect çağırırsın.

Uygulama Deprecation raporlarını izle

Bir ReportingObserver oluştur. Callback reports alır; her report için report.type'ı konsola yaz. types olarak 'deprecation' ver ve observe ile başlat.

Örnek çözümü göster
1. new ReportingObserver((reports) => {...}, { types: ['deprecation'] }) ile oluştur.
2. Callback içinde reports'u dolaş ve report.type'ı yazdır.
3. observer.observe() ile başlat.

Örnek çözüm:
const observer = new ReportingObserver((reports) => {
  for (const report of reports) {
    console.log(report.type);
  }
}, { types: ['deprecation'] });
observer.observe();

Kendini test et

  1. Reporting API aşağıdakilerden hangisini raporlamaz?

    • Eski API kullanımı (deprecation)
    • Tarayıcı müdahalesi (intervention)
    • Çökme raporu (crash)
    • Kullanıcının gezinme geçmişi
    Cevabı göster

    Kullanıcının gezinme geçmişi — Doğru. Reporting API gezinme geçmişini raporlamaz; yalnızca tarayıcı kaynaklı uyarıları toplar.

  2. types dizisini ekle

    new ReportingObserver((reports) => {}, { types:____});
    Cevabı göster
    new ReportingObserver((reports) => {}, { types:['deprecation']});
  3. Rapor türlerini eşleştir

    deprecation
    Eski API uyarısı
    intervention
    Tarayıcı müdahalesi
    crash
    Çökme raporu
    violation
    Politika ihlali

Uzman bölümündeki tüm dersler