wake-up-neo.com

Fehler "Nicht erreichbarer Code nach Rückgabeanweisung" im Google Analytics-JS-Code in Firefox - ist das meine Schuld?

Ich verwende den aktuellen Google Analytics-Tracking-Code und in Firefox 59 wird in der Konsole der folgende Fehler angezeigt:

nicht erreichbarer Code nach return-Anweisung

In diesem Javascript: https://www.googletagmanager.com/gtag/js?id=UA-my-tracking-code:formatted

Da dieses Problem scheinbar nicht googleabel ist und andere dieses Problem nicht haben, gehe ich davon aus, dass ich es bin, der etwas falsch macht. Aber woran könnte das liegen?

Ich lege das Snippet in <head>, so wie es in den Dokumenten heißt:

<!DOCTYPE html>
<html>
    <head>
        <title>some title</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">

        <!-- Global site tag (gtag.js) - Google Analytics -->
        <script async src="https://www.googletagmanager.com/gtag/js?id=UA-my-tracking-code"></script>

        <script>
          window.dataLayer = window.dataLayer || [];
          function gtag(){dataLayer.Push(arguments);}
          gtag('js', new Date());
          gtag('config', 'UA-my-tracking-code');
        </script>

    </head>
    <body>
     blah blah 
    </body>
</html>
24
konrados

Es ist nicht deine Schuld. Wenn Sie den Code mit Firefox verschönern, finden Sie ihn hier:

Gc = function (a, b, c) {
  var d = a.split('.');
  var e = function (a, b) {
    for (var c = 0; void 0 !== a && c < d.length; c++) {
      if (null === a) return !1;
      a = a[d[c]]
    }
    return void 0 !== a || 1 < c ? a : b.length ? e(Hc(b.pop()), b)  : Ic(d)
  };
  return e(Cc.eventModel, [         // <= True return value
    b,
    c
  ]);
  return Ic(d)  // <= This can never be reached!
},

So verschönern Sie den Code:

  1. Klicken Sie auf den blauen Link der Warnung. Sie sehen den verstümmelten Code.
  2. Klicken Sie auf das Symbol mit dem {} Unten links in diesem Fenster, um es zu verschönern. Die Referenz geht jedoch verloren.
  3. Kehren Sie zum Bereich "Konsole" zurück und klicken Sie erneut auf den blauen Link derselben Warnung. Jetzt sehen Sie die ursprüngliche Referenz in der richtigen Zeile.

Firefox zeigt den Fehler korrekt an, die Funktion Ic(d) wird nie erreicht, da die Funktion früher zurückkehrt. Scheint wie ein Google Tag Manager-Fehler, aber ohne den ursprünglichen Code zu überprüfen, können wir den Schweregrad nicht feststellen.

12
Me -

Meine Zwangsstörung wird das nicht zulassen. Warnungen sind so schlimm wie Fehler für mein Gehirn ... lol

Aufgrund der Antwort von @Me - habe ich Folgendes ausgeführt:

  1. Navigieren Sie zur URL im <script async src="https://www.googletagmanager.com/gtag/js?id={Google Analytics Id here}"></script> taggen und eine Kopie des JavaScript holen.
  2. Legen Sie es in einer Datei in meiner Lösung ab und ersetzen Sie das ferne js src durch diese neue lokale Kopie.
  3. Formatieren Sie die Datei neu (prettify).
  4. Kommentieren Sie die beleidigende Zeile aus (wenn sie nicht erreicht werden kann, wie es ist, erwarte ich keinen schrecklichen Schaden, wenn Sie sie einfach entfernen).

Die Warnung ist weg und bis jetzt scheint alles zu funktionieren - es scheinen keine zusätzlichen oder neuen Fehler/Warnungen in der Konsole und Analytics/Tracking-Daten zu kommen.

Dies ist eindeutig keine ideale Lösung - ich muss dies weiter überwachen, bis entweder a) Google den Code korrigiert (wobei übrigens Semikolons überall weggelassen werden - ich bezweifle, dass es fast an einem Linter vorbei gehen würde) oder b ) Google nimmt andere Änderungen am Code vor, die dazu führen, dass mein Code beschädigt wird oder mein Analytics-Bericht nicht mehr angezeigt wird.

3

Das Problem tritt nicht bei allen Versionen des Tracking-Codes auf.

gtag

Dieser Codeausschnitt mit gtag verursacht die Warnungen unreachable code after return statement (In Firefox):

<script async src="https://www.googletagmanager.com/gtag/js?id=UA-XXXXXX-YY"></script>
<script>
    window.dataLayer = window.dataLayer || [];
    function gtag(){dataLayer.Push(arguments);}
    gtag('js', new Date());

    gtag('config', 'UA-XXXXXX-YY');
</script>

Quelle: der Admin-Bereich in Google Analytics: Admin › Tracking Info › Tracking Code, Letzte Aktualisierung, weiß Gott wann.

analytics.js

Dieser Codeausschnitt löst mit analytics.js Nicht den Fehler aus:

<script>
window.ga=window.ga||function(){(ga.q=ga.q||[]).Push(arguments)};ga.l=+new Date;
ga('create', 'UA-XXXXXX-YY', 'auto');
ga('send', 'pageview');
</script>
<script async src='https://www.google-analytics.com/analytics.js'></script>

Aus der offiziellen Dokumentation entnommen: Hinzufügen von analytics.js zu Ihrer Site (zweites Codebeispiel), "Zuletzt aktualisiert am 30. Juli 2018."

Denken Sie daran, XXXXXX-YY Mit Ihrer eigenen Eigenschafts-ID zu aktualisieren.


Was sind die Unterschiede?

Aus dem Admin-Bereich:

Global Site Tag (gtag.js) und Google Tag Manager sind die empfohlenen Verfolgungsmethoden für neue Implementierungen. Zusätzliche Implementierungsoptionen sind ebenfalls verfügbar, einschließlich analytics.js und dem Measurement Protocol. Erfahren Sie mehr über zusätzliche Tracking-Methoden.

Aus der Dokumentation :

Verwenden Sie analytics.js

Die Bibliothek gtag.js ist der empfohlene Tracking-Code für neue Implementierungen. Es kann jedoch Fälle geben, in denen Sie analytics.js bevorzugen (z. B. wird analytics.js auf Ihrer Site bereits verwendet.) Weitere Informationen finden Sie in der Entwicklerdokumentation.

2