Debug achtergrondservices

Sofia Emelianova
Sofia Emelianova

Het gedeelte Achtergrondservices van Chrome DevTools is een verzameling hulpprogramma's voor de JavaScript-API's waarmee uw website updates kan verzenden en ontvangen, zelfs als een gebruiker uw website niet geopend heeft. Een achtergrondservice is functioneel vergelijkbaar met een achtergrondproces .

In het gedeelte Achtergrondservices kunt u fouten opsporen in de volgende achtergrondservices:

Chrome DevTools kan ophaal-, synchronisatie- en meldingsgebeurtenissen gedurende drie dagen registreren, zelfs als DevTools niet geopend is. Dit kan u helpen ervoor te zorgen dat gebeurtenissen worden verzonden en ontvangen zoals verwacht.

Naast servicegebeurtenissen op de achtergrond kan DevTools:

Achtergrond ophalen

Met de Background Fetch API kan een servicemedewerker op betrouwbare wijze grote bronnen, zoals films of podcasts, downloaden als achtergrondservice. Ophaalgebeurtenissen op de achtergrond gedurende drie dagen registreren, zelfs als DevTools niet geopend is:

  1. Open bijvoorbeeld DevTools op deze demopagina .
  2. Navigeer naar Toepassing > Achtergrondservices > Achtergrond ophalen en klik Dossier. Dossier .

    Het deelvenster Ophalen op achtergrond.

  3. Klik op de demopagina op Activa lokaal opslaan . Dit activeert enige ophaalactiviteit op de achtergrond. DevTools registreert de gebeurtenissen in de tabel.

    Een logboek met gebeurtenissen in het venster Ophalen op de achtergrond.

  4. Klik op een gebeurtenis om de details ervan in de ruimte onder de tabel te bekijken.

  5. U kunt DevTools sluiten en de opname maximaal drie dagen laten staan. Om de opname te stoppen, klikt u op Stop. Stop .

Achtergrondsynchronisatie

Met de Background Sync API kan een offline servicemedewerker gegevens naar een server verzenden zodra deze weer een betrouwbare internetverbinding tot stand heeft gebracht. Zo logt u achtergrondsynchronisatiegebeurtenissen gedurende drie dagen, zelfs als DevTools niet geopend is:

  1. Open bijvoorbeeld DevTools op deze demopagina .
  2. Navigeer naar Applicatie > Achtergrondservices > Achtergrondsynchronisatie en klik Dossier. Dossier .

    Het deelvenster Achtergrondsynchronisatie.

  3. Klik op de demopagina op Achtergrondsynchronisatie registreren om de betreffende servicemedewerker te registreren en klik op Toestaan ​​wanneer daarom wordt gevraagd.

    Registratie van servicemedewerkers is een synchronisatieactiviteit op de achtergrond. DevTools registreert de gebeurtenissen in de tabel.

    Een logboek met gebeurtenissen in het deelvenster Achtergrondsynchronisatie.

  4. Klik op een gebeurtenis om de details ervan in de ruimte onder de tabel te bekijken.

  5. U kunt DevTools sluiten en de opname maximaal drie dagen laten staan. Om de opname te stoppen, klikt u op Stop. Stop .

(Experimenteel) Maatregelen bij het volgen van bounces

Met het experiment voor het beperken van bouncetracking in Chrome kunt u de status van sites die cross-site tracking lijken te identificeren en verwijderen met behulp van de techniek voor bouncetracking. U kunt trackingbeperkingen handmatig afdwingen en een lijst bekijken met sites waarvan de status is verwijderd.

Trackingbeperkingen afdwingen:

  1. Blokkeer cookies van derden in Chrome . Navigeer naar en schakel in Menu met drie stippen. > Instellingen > Beveiliging. Privacy en veiligheid > Cookies en andere sitegegevens > Keuzerondje aangevinkt. Cookies van derden blokkeren .
  2. Stel in chrome://flags het experiment voor het beperken van het bijhouden van bounces in op Ingeschakeld met verwijdering .
  3. Open DevTools bijvoorbeeld op de demopagina en navigeer naar Toepassing > Achtergrondservices > Beperkingen bij het bijhouden van bounces .
  4. Klik op de demopagina op een bounce-link en wacht (10 seconden) totdat Chrome de bounce registreert. Op het tabblad Problemen wordt u gewaarschuwd voor de aanstaande verwijdering van de status.
  5. Klik op Geforceerd uitvoeren om de status onmiddellijk te verwijderen.

De maatregelen voor het bijhouden van bounces vermelden een statusverwijdering.

Meldingen

Nadat een servicemedewerker een pushbericht van een server heeft ontvangen, gebruikt de servicemedewerker de Notifications API om de gegevens aan een gebruiker weer te geven. Meldingen gedurende drie dagen registreren, zelfs als DevTools niet geopend is:

  1. Open bijvoorbeeld DevTools op deze demopagina .
  2. Navigeer naar Applicatie > Achtergrondservices > Meldingen en klik Dossier. Dossier .

    Het meldingenvenster.

  3. Klik op de demopagina op Melding plannen en Toestaan ​​wanneer daarom wordt gevraagd.

  4. Wacht tot de melding verschijnt. DevTools registreert de meldingsgebeurtenissen in de tabel.

    Een logboek met gebeurtenissen in het meldingenvenster.

  5. Klik op een gebeurtenis om de details ervan in de ruimte onder de tabel te bekijken.

  6. U kunt DevTools sluiten en de opname maximaal drie dagen laten staan. Om de opname te stoppen, klikt u op Stop. Stop .

Speculatieve ladingen

Met speculatieve ladingen kan de pagina vrijwel onmiddellijk worden geladen op basis van speculatieregels die u definieert . Hierdoor kan uw website de meeste genavigeerde pagina's vooraf ophalen en vooraf renderen.

Prefetch haalt vooraf een bron op en prerender gaat nog een stap verder en geeft de hele pagina weer in een verborgen achtergrondrendererproces.

U kunt fouten in speculatieve belastingen opsporen in de sectie Toepassing > Achtergrondservices > Speculatieve belastingen . De sectie bevat drie weergaven:

  • Speculatieve ladingen . Bevat de speculatieve status voor de huidige pagina, de huidige URL, pagina's die de huidige pagina speculatief probeert te laden, en hun statussen.
  • Reglement . Bevat de regelsets op de huidige pagina in het paneel Elementen en de algemene status van speculaties.
  • Speculaties . Bevat een tabel met informatie over speculatieve laadpogingen en hun status. Als een poging mislukt, kunt u erop klikken in de tabel om gedetailleerde informatie en de reden van de mislukking te zien.

Probeer het debuggen van speculatieve ladingen op deze demopagina :

  1. Open DevTools op de pagina en navigeer naar Toepassing > Achtergrondservices > Speculatieve ladingen . Als u geen speculatieve ladingen ziet die door de pagina zijn geïnitieerd, laadt u deze opnieuw.

    De URL's die speculatief door deze pagina zijn geladen, twee successen en één mislukking.

  2. De startpagina van de demo geeft twee pagina's vooraf weer, maar slaagt er niet in om er één vooraf te renderen. Klik op Alle speculaties bekijken .

  3. Selecteer in Speculaties de speculatie met de status Mislukking om de reden van de mislukking te zien in het gedeelte met gedetailleerde informatie onderaan.

    De mislukte speculatie geselecteerd.

    In dit geval is de pre-render mislukt omdat er geen /next3.html op de website staat.

  4. Open het gedeelte Regels en klik op Status om de regelset onderaan te zien. Als u op de link Regelset klikt, gaat u naar het paneel Elementen en ziet u waar de speculatieregel is gedefinieerd.

    Het gedeelte Regels met de link naar de regelset.

Zie Foutopsporing in speculatieregels voor een gedetailleerder overzicht.

Pushberichten

Om een ​​pushmelding aan een gebruiker weer te geven, moet een servicemedewerker eerst de Push Message API gebruiken om gegevens van een server te ontvangen. Wanneer de servicemedewerker klaar is om de melding weer te geven, gebruikt hij de Notifications API. Om push-berichten gedurende drie dagen vast te leggen, zelfs als DevTools niet geopend is:

  1. Open bijvoorbeeld DevTools op deze demopagina .
  2. Navigeer naar Applicatie > Achtergrondservices > Pushberichten en klik Dossier. Dossier .

    Het deelvenster Pushberichten.

  3. Op de demopagina schakelt u Pushmeldingen inschakelen in , klikt u op Toestaan ​​wanneer daarom wordt gevraagd, typt u een bericht en verzendt u dit. DevTools registreert pushmeldingsgebeurtenissen naar de tabel.

    Een logboek met gebeurtenissen in het deelvenster Pushberichten.

  4. Klik op een gebeurtenis om de details ervan in de ruimte onder de tabel te bekijken.

  5. U kunt DevTools sluiten en de opname maximaal drie dagen laten staan. Om de opname te stoppen, klikt u op Stop. Stop .

Rapportage-API

Sommige fouten gebeuren alleen in de productie. Je ziet ze nooit lokaal of tijdens de ontwikkeling, omdat echte gebruikers, netwerken en apparaten het spel veranderen.

Stel bijvoorbeeld dat uw nieuwe site afhankelijk is van software van derden die document.write() gebruikt om kritieke scripts te laden. Nieuwe gebruikers over de hele wereld openen uw site, maar ze hebben mogelijk langzamere verbindingen dan waarmee u hebt getest. U weet niet dat uw site voor hen kapot gaat, omdat Chrome ingrijpt tegen document.write() op langzame netwerken. U kunt ook verouderde of binnenkort verouderde API's in de gaten houden die uw codebase mogelijk gebruikt.

De Reporting API is ontworpen om u te helpen verouderde API-aanroepen, beveiligingsschendingen van uw pagina en meer te monitoren. U kunt rapportage instellen zoals beschreven in Monitor uw webapplicatie met de Reporting API .

Om de rapporten te bekijken die door een pagina zijn gegenereerd:

  1. Ga naar chrome://flags/#enable-experimental-web-platform-features , stel Experimental Web Platform-functies in op Ingeschakeld en start Chrome opnieuw.
  2. Open DevTools en navigeer naar Toepassing > Achtergrondservices > Rapportage-API . U kunt bijvoorbeeld rapporten bekijken op deze demopagina .

    Rapporten vermeld in de Reporting API

Het tabblad Rapportage-API is verdeeld in drie delen:

  • De tabel Rapporten met de volgende informatie over elk rapport:
    • URL die het genereren van het rapport heeft veroorzaakt
    • Type overtreding
    • Rapportstatus
    • Eindpunt van bestemming
    • Gegenereerd op tijdstempel
    • Rapporttekst
  • Het gedeelte Voorbeeld van rapporttekst . Als u een voorbeeld van de hoofdtekst van een rapport wilt bekijken, klikt u op een rapport in de tabel met rapporten.
  • De sectie Eindpunten met een overzicht van alle eindpunten die zijn geconfigureerd in de kop Reporting-Endpoints .

Rapportstatus

In de kolom Status ziet u of Chrome het rapport succesvol heeft verzonden, op het punt staat het te verzenden of is mislukt.

Toestand Beschrijving
Success De browser heeft het rapport verzonden en het eindpunt heeft geantwoord met een succescode ( 200 of een andere succesreactiecode 2xx ).
Pending De browser probeert het rapport te verzenden.
Queued Het rapport is gegenereerd en de browser probeert het nog niet te verzenden. In een van deze twee gevallen wordt een rapport weergegeven als In Queued :
  • Het rapport is nieuw en de browser wacht totdat er meer rapporten binnenkomen voordat het wordt verzonden.
  • Het rapport is niet nieuw; de browser heeft al geprobeerd dit rapport te verzenden, maar is mislukt, en wacht voordat het opnieuw probeert.
MarkedForRemoval Na een tijdje opnieuw proberen ( Queued ), probeert de browser het rapport niet meer te verzenden en zal het binnenkort uit de lijst met te verzenden rapporten verwijderen.

Rapporten worden na een tijdje verwijderd, ongeacht of ze succesvol zijn verzonden.