Fehler bei Hintergrunddiensten beheben

Sofia Emelianova
Sofia Emelianova

Der Abschnitt Hintergrunddienste der Chrome-Entwicklertools umfasst eine Sammlung von Tools für die JavaScript APIs, mit denen über Ihre Website auch dann Updates gesendet und empfangen werden können, wenn ein Nutzer Ihre Website nicht geöffnet hat. Die Funktion eines Hintergrunddienstes ähnelt der Funktion eines Hintergrundprozesses.

Im Abschnitt Hintergrunddienste können Sie Fehler in den folgenden Hintergrunddiensten beheben:

Mit den Chrome-Entwicklertools können Abruf-, Synchronisierungs- und Benachrichtigungsereignisse drei Tage lang protokolliert werden, auch wenn die Entwicklertools nicht geöffnet sind. So können Sie sicherstellen, dass Ereignisse wie erwartet gesendet und empfangen werden.

Neben Dienstereignissen im Hintergrund können die Entwicklertools:

Hintergrundabruf

Mit der Background Fetch API kann ein Service Worker große Ressourcen wie Filme oder Podcasts zuverlässig als Hintergrunddienst herunterladen. So protokollieren Sie im Hintergrund abgerufene Ereignisse drei Tage lang, auch wenn die Entwicklertools nicht geöffnet sind:

  1. Öffne die Entwicklertools, z. B. auf dieser Demoseite.
  2. Gehen Sie zu Anwendung > Hintergrunddienste > Hintergrundabruf und klicken Sie auf Aufnehmen. Aufzeichnen.

    Der Bereich zum Abrufen des Hintergrunds

  3. Klicken Sie auf der Demoseite auf Assets lokal speichern. Dies löst einige Abrufaktivitäten im Hintergrund aus. Die Entwicklertools protokolliert die Ereignisse in der Tabelle.

    Ein Protokoll der Ereignisse im Bereich „Hintergrundabruf“.

  4. Klicken Sie auf ein Ereignis, um die zugehörigen Details im Feld unter der Tabelle aufzurufen.

  5. Du kannst die Entwicklertools schließen und die Aufzeichnung bis zu drei Tage lang laufen lassen. Um die Aufzeichnung zu beenden, klicken Sie auf Stopp Beenden.

Hintergrundsynchronisierung

Mit der Background Sync API kann ein Service Worker offline Daten an einen Server senden, sobald er wieder eine zuverlässige Internetverbindung hergestellt hat. So protokollieren Sie Hintergrundsynchronisierungsereignisse drei Tage lang, auch wenn die Entwicklertools nicht geöffnet sind:

  1. Öffne die Entwicklertools, z. B. auf dieser Demoseite.
  2. Gehen Sie zu Anwendung > Hintergrunddienste > Hintergrundsynchronisierung und klicken Sie auf Aufnehmen. Aufzeichnen.

    Der Bereich „Hintergrundsynchronisierung“

  3. Klicken Sie auf der Demoseite auf Hintergrundsynchronisierung registrieren, um den jeweiligen Service Worker zu registrieren, und klicken Sie auf Zulassen, wenn Sie dazu aufgefordert werden.

    Die Service Worker-Registrierung ist eine Aktivität zur Hintergrundsynchronisierung. Die Entwicklertools protokolliert die Ereignisse in der Tabelle.

    Ein Protokoll der Ereignisse im Bereich „Hintergrundsynchronisierung“.

  4. Klicken Sie auf ein Ereignis, um die zugehörigen Details im Feld unter der Tabelle aufzurufen.

  5. Du kannst die Entwicklertools schließen und die Aufzeichnung bis zu drei Tage lang laufen lassen. Um die Aufzeichnung zu beenden, klicken Sie auf Stopp Beenden.

(Experimentell) Eindämmung von Bounce-Tracking

Mit dem Test zur Eindämmung von Bounce-Tracking in Chrome können Sie den Status von Websites ermitteln und löschen, die offenbar mithilfe der Bounce-Tracking-Technik websiteübergreifendes Tracking ausführen. Sie können das Tracking manuell erzwingen und eine Liste der Websites aufrufen, deren Status gelöscht wurden.

So erzwingen Sie die Eindämmung des Trackings:

  1. Drittanbieter-Cookies in Chrome blockieren Aktivieren Sie Dreipunkt-Menü. > Einstellungen > Sicherheit Datenschutz und Sicherheit > Cookies und andere Websitedaten > Optionsfeld aktiviert. Drittanbieter-Cookies blockieren.
  2. Legen Sie in chrome://flags für den Test Eindämmung von Bounce-Tracking die Option Mit Löschung aktiviert fest.
  3. Öffnen Sie die Entwicklertools, z. B. auf der Demoseite, und gehen Sie zu Anwendung > Hintergrunddienste > Eindämmung von Bounce-Tracking.
  4. Klicken Sie auf der Demoseite auf einen Absprunglink und warten Sie 10 Sekunden, bis Chrome das Absprung aufzeichnen. Auf dem Tab Probleme werden Sie vor dem bevorstehenden Löschen des Status gewarnt.
  5. Klicken Sie auf Ausführung erzwingen, um den Status sofort zu löschen.

Mit den Maßnahmen zur Eindämmung von Bounce-Tracking wird eine Statuslöschung aufgelistet.

Benachrichtigungen

Nachdem ein Service Worker eine Push-Nachricht von einem Server erhalten hat, zeigt er einem Nutzer die Daten mithilfe der Notifications API an. So protokollieren Sie Benachrichtigungen für drei Tage, auch wenn die Entwicklertools nicht geöffnet sind:

  1. Öffne die Entwicklertools, z. B. auf dieser Demoseite.
  2. Gehen Sie zu Application > Background services > Notifications (Anwendung > Hintergrunddienste > Benachrichtigungen) und klicken Sie auf Aufnehmen. Record (Aufzeichnen).

    Im Bereich „Benachrichtigungen“

  3. Klicken Sie auf der Demoseite auf Benachrichtigung planen und auf Zulassen, wenn Sie dazu aufgefordert werden.

  4. Warten Sie, bis die Benachrichtigung erscheint. Die Entwicklertools protokolliert die Benachrichtigungsereignisse in der Tabelle.

    Ein Protokoll der Ereignisse im Bereich „Benachrichtigungen“.

  5. Klicken Sie auf ein Ereignis, um die zugehörigen Details im Feld unter der Tabelle aufzurufen.

  6. Du kannst die Entwicklertools schließen und die Aufzeichnung bis zu drei Tage lang laufen lassen. Um die Aufzeichnung zu beenden, klicken Sie auf Stopp Beenden.

Spekulative Ladevorgänge

Spekulative Ladevorgänge ermöglichen basierend auf von Ihnen definierten Spekulationsregeln einen nahezu sofortigen Seitenaufbau. So kann Ihre Website die meisten Nutzer, die die meisten Nutzer aufrufen, vorab abrufen und rendern.

Beim Prefetch wird eine Ressource im Voraus abgerufen und beim Pre-Rendering wird die gesamte Seite in einem ausgeblendeten Hintergrund-Renderer-Prozess gerendert.

Sie können Fehler bei spekulativen Ladevorgängen im Bereich Anwendung > Hintergrunddienste > Spekulative Ladevorgänge beheben. Der Abschnitt enthält drei Ansichten:

  • Spekulative Ladevorgänge. Enthält den spekulativen Status der aktuellen Seite, die aktuelle URL, Seiten, die die aktuelle Seite spekulativ zu laden versucht, sowie deren Status.
  • Regeln: Enthält die Regelsätze auf der aktuellen Seite im Steuerfeld Elemente und den Gesamtstatus von Spekulationen.
  • Spekulationen. Enthält eine Tabelle mit Informationen zu spekulativen Ladeversuchen und deren Status. Wenn ein Versuch fehlgeschlagen ist, können Sie in der Tabelle darauf klicken, um detaillierte Informationen und die Ursache des Fehlers aufzurufen.

Informationen zum Debuggen von spekulativen Ladevorgängen finden Sie auf dieser Demoseite:

  1. Öffnen Sie die Entwicklertools auf der Seite und gehen Sie zu Anwendung > Hintergrunddienste > Spekulative Ladevorgänge. Wenn Sie keine spekulativen Ladevorgänge sehen, die von der Seite initiiert wurden, laden Sie sie neu.

    Die URLs wurden von dieser Seite spekulativ geladen, zwei erfolgreiche Vorgänge und ein Fehler.

  2. Auf der Startseite der Demo werden zwei Seiten vorab gerendert. Eine davon kann nicht vorab gerendert werden. Klicke auf Alle Spekulationen ansehen.

  3. Wählen Sie unter Spekulationen die Spekulation mit dem Status Fehler aus, um den Abschnitt Fehlerursache mit ausführlichen Informationen unten zu sehen.

    Die fehlgeschlagene Spekulation wurde ausgewählt.

    In diesem Fall ist das Pre-Rendering fehlgeschlagen, weil es auf der Website keine /next3.html-Seite gibt.

  4. Öffnen Sie den Abschnitt Regeln und klicken Sie auf Status, um den Regelsatz unten zu sehen. Durch Klicken auf den Link Regelsatz gelangen Sie zum Bereich Elemente und sehen, wo die Spekulationsregel definiert ist.

    Der Abschnitt „Regeln“ mit dem Link zum Regelsatz.

Eine ausführliche Anleitung finden Sie unter Fehlerbehebung bei Spekulationsregeln.

Push-Benachrichtigungen

Damit einem Nutzer eine Push-Benachrichtigung angezeigt werden kann, muss ein Service Worker zuerst die Push Message API verwenden, um Daten von einem Server zu empfangen. Wenn der Service Worker zum Anzeigen der Benachrichtigung bereit ist, verwendet er die Notifications API. So protokollieren Sie Push-Nachrichten drei Tage lang, auch wenn die Entwicklertools nicht geöffnet sind:

  1. Öffne die Entwicklertools, z. B. auf dieser Demoseite.
  2. Gehen Sie zu Application > Background services > Push Messaging und klicken Sie auf Aufnehmen. Aufzeichnen.

    Im Bereich „Push Messaging“

  3. Aktivieren Sie auf der Demoseite die Option Push-Benachrichtigungen aktivieren und klicken Sie auf Zulassen, wenn Sie dazu aufgefordert werden, geben Sie eine Nachricht ein und senden Sie sie. Die Entwicklertools protokolliert Push-Benachrichtigungsereignisse in der Tabelle.

    Ein Protokoll der Ereignisse im Bereich Push-Nachrichten.

  4. Klicken Sie auf ein Ereignis, um die zugehörigen Details im Feld unter der Tabelle aufzurufen.

  5. Du kannst die Entwicklertools schließen und die Aufzeichnung bis zu drei Tage lang laufen lassen. Um die Aufzeichnung zu beenden, klicken Sie auf Stopp Beenden.

Reporting API

Einige Fehler treten nur in der Produktion auf. Sie sind nie lokal oder während der Entwicklung zu sehen, weil echte Nutzer, Netzwerke und Geräte das Spiel beeinflussen.

Angenommen, Ihre neue Website basiert auf Drittanbieter-Software, die document.write() zum Laden wichtiger Skripts verwendet. Neue Nutzer auf der ganzen Welt öffnen Ihre Website, haben jedoch möglicherweise langsamere Verbindungen als mit Ihnen getestet. Ihnen bislang nicht bekannt ist, funktioniert Ihre Website nicht mehr richtig, da in langsamen Netzwerken Chrome gegen document.write() eingreift. Alternativ können Sie auch veraltete oder demnächst nicht mehr verfügbare APIs im Auge behalten, die Ihre Codebasis möglicherweise verwendet.

Mit der Reporting API können Sie unter anderem eingestellte API-Aufrufe und Sicherheitsverstöße auf Ihrer Seite im Blick behalten. Sie können die Berichterstellung wie unter Webanwendung mit der Reporting API überwachen beschrieben einrichten.

So rufen Sie die von einer Seite erstellten Berichte auf:

  1. Rufen Sie chrome://flags/#enable-experimental-web-platform-features auf, setzen Sie Experimental Web Platform features (Experimentelle Webplattform-Features) auf Aktiviert und starten Sie Chrome neu.
  2. Öffnen Sie die Entwicklertools und gehen Sie zu Anwendung > Hintergrunddienste > Reporting API. Sie können sich die Berichte beispielsweise auf dieser Demoseite ansehen.

    In der Reporting API aufgeführte Berichte

Der Tab Reporting API ist in drei Teile unterteilt:

  • Die Tabelle Berichte mit den folgenden Informationen zu jedem Bericht:
    • URL, durch die der Bericht generiert wurde
    • Art des Verstoßes
    • Status des Berichts
    • Zielendpunkt
    • Erstellt am Zeitstempel
    • Text des Berichts
  • Der Vorschaubereich des Berichtstexts. Wenn Sie eine Vorschau des Berichtstexts aufrufen möchten, klicken Sie in der Tabelle auf einen Bericht.
  • Der Abschnitt Endpunkte mit einer Übersicht aller im Reporting-Endpoints-Header konfigurierten Endpunkte.

Berichtsstatus

In der Spalte Status sehen Sie, ob der Bericht von Chrome gesendet wurde, ob er gesendet wird oder ob ein Fehler aufgetreten ist.

Status Beschreibung
Success Der Browser hat den Bericht gesendet und der Endpunkt hat mit einem Erfolgscode (200 oder einem anderen Erfolgsantwortcode 2xx) geantwortet.
Pending Der Browser versucht, den Bericht zu senden.
Queued Der Bericht wurde erstellt und der Browser versucht noch nicht, ihn zu senden. Ein Bericht wird in einem der folgenden Fälle als Queued angezeigt:
  • Der Bericht ist neu und der Browser wartet vor dem Senden darauf, ob weitere Berichte eintreffen.
  • Der Bericht ist nicht neu. Der Browser hat bereits versucht, diesen Bericht zu senden. Dabei ist ein Fehler aufgetreten und der Bericht wartet, bevor er es erneut versucht.
MarkedForRemoval Nach einem gewissen Zeitraum (Queued) wird der Bericht vom Browser nicht mehr gesendet. Er wird bald aus der Liste der zu sendenden Berichte entfernt.

Berichte werden nach einer gewissen Zeit entfernt, unabhängig davon, ob sie erfolgreich gesendet wurden oder nicht.