Zum Inhalt springen
SilktideHilfe

Veraltetes JavaScript

Silktide prüft, ob Ihre Seite zusätzlichen Code ausliefert, dessen einziger Zweck darin besteht, sehr alte Browser zu unterstützen. Moderne Browser benötigen ihn nicht, daher sind für fast alle Besucher Download- und Verarbeitungszeit verschwendet.

Wenn für die Veröffentlichung aufbereitet wird, fügen Build-Tools häufig Polyfills (Ersatz für Funktionen, die alten Browsern fehlen) und Syntaxtransformationen (Umschreibungen moderner Syntax in ältere Entsprechungen) hinzu. Sind sie für Browser konfiguriert, die praktisch verschwunden sind, fügen sie jedem Seitenaufruf erheblichen toten Ballast hinzu.

Warum das wichtig ist

Die überwältigende Mehrheit der Besucher nutzt Browser, die sich selbst aktualisieren und modernes JavaScript nativ unterstützen. Legacy-Code lässt alle den Preis zahlen – in Downloadzeit, mobilem Datenvolumen und Verarbeitungszeit – für die Kompatibilität mit Browsern, die möglicherweise gar nicht in Ihrem tatsächlichen Traffic vorkommen.

Die Kosten sind leicht zu übersehen, weil nichts falsch aussieht: Die Website funktioniert überall. Sie ist einfach langsamer als nötig – auf jeder Seite, für alle.

So beheben Sie das

Dies ist eine Build-Konfigurationsänderung für Ihre Entwickler:

  1. Legen Sie die Zielbrowser der Build-Konfiguration auf die Browser fest, die Ihre Besucher tatsächlich verwenden, statt auf einen veralteten Standard, der nicht mehr aktuell ist. Die meisten Build-Tools lesen dies aus einer Browser-Support-Deklaration im Projekt.
  2. Entfernen Sie pauschale Polyfill-Imports, die Unterstützung für alles einbinden, und lassen Sie den Build nur das aufnehmen, was Ihre Zielbrowser wirklich benötigen.
  3. Wenn ein alter Browser weiterhin unterstützt werden muss, liefern Sie zwei Builds aus – einen modernen für aktuelle Browser und einen Legacy-Build nur für Browser, die ihn benötigen – anstatt den Legacy-Build an alle zu senden.

So testet Silktide dies

  1. Die Seite wird in einem echten Browser geladen, unter Verwendung des Gerätetyps, der Verbindungsgeschwindigkeit und des Teststandorts, die für Ihre Geschwindigkeitstests konfiguriert sind.
  2. Das von der Seite heruntergeladene JavaScript wird auf bekannte Polyfills und Syntaxtransformationen untersucht, die moderne Browser nicht benötigen.
  3. Es wird jede Datei gemeldet, die Legacy-Code enthält, zusammen mit der einsparbaren Downloadgröße.
  4. Die Seite wird anhand der insgesamt verschwendeten Größe bewertet: Etwa 30 KB an Legacy-Code führen zu einer Abwertung, und 100 KB oder mehr werden als schlecht bewertet.

Fehlerbehebung

Wir müssen alte Browser weiterhin unterstützen

Prüfen Sie, ob Ihre Besucher sie tatsächlich verwenden – Ihre Analysedaten sagen es Ihnen. Falls einige das tatsächlich tun, ermöglicht das module/nomodule-Muster, Legacy-Code nur an die Browser auszuliefern, die ihn benötigen, sodass moderne Browser die Kosten nicht mehr tragen müssen.

Der Legacy-Code befindet sich in einem Skript eines Drittanbieters

Skripte anderer Anbieter können eigenen Legacy-Ballast mitbringen, den Sie nicht neu bauen können. Prüfen Sie, ob der Anbieter eine moderne Variante anbietet, und wägen Sie den Nutzen des Skripts gegen seine Kosten ab.

Mehr erfahren

Zuletzt aktualisiert

War diese Seite hilfreich?