ошибка "недостижимый код после оператора возврата" в коде JS Google Analytics в Firefox - это моя вина?

Я использую текущий код отслеживания Google Analytics, и в Firefox 59 я получаю эту ошибку в консоли:

недостижимый код после оператора return

на этом javascript:https://www.googletagmanager.com/gtag/js?id=UA-my-tracking-code:formatted

поскольку эта проблема не кажется googleable, следовательно, кажется, что у других нет этой проблемы, я предполагаю, что это я, кто делает что-то неправильно. Но что это может быть?

я помещаю фрагмент в <head>, как говорят врачи:

<!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>

2 ответов


Это не ваша вина. Если вы украсите код с помощью Firefox, его можно найти здесь:

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!
},

чтобы украсить код:

  1. нажмите на синюю ссылку предостережение. Вы увидите искаженный код.
  2. нажмите на значок с {} в левом нижнем углу этой панели, чтобы приукрасить его. Однако ссылка будет потеряна.
  3. вернитесь к панели "консоль" и нажмите еще раз в синей ссылке того же предупреждения. Теперь ты ... см. исходную ссылку в правильной строке.

Firefox правильно указывает на ошибку, функцию Ic(d) никогда не будет достигнуто, так как функция возвращается ранее. Похоже на ошибку диспетчера тегов Google, однако без проверки исходного кода мы не можем определить серьезность.


мое ОКР этого не допустит. Предупреждения так же вредны для моего мозга, как и ошибки... лол

ответ, предоставленный @Me-заставил меня выполнить следующее:

  1. перейдите к url в <script async src="https://www.googletagmanager.com/gtag/js?id={Google Analytics Id here}"></script> тег и захватить копию JavaScript.
  2. поместите его в файл в моем решении и замените удаленный JS src этой новой локальной копией.
  3. переформатируйте файл (prettify).
  4. прокомментируйте оскорбительную строку (если она не может быть достигнута as-is я не ожидаю, что ужасный вред придет от простого его удаления).

предупреждение исчезло, и до сих пор все, кажется, работает - никаких дополнительных или новых ошибок/предупреждений в консоли и данных аналитики/отслеживания все еще, кажется, проходит.

это явно не идеальное решение - мне придется продолжать следить за этим, пока a) Google не исправит свой код (который, кстати, опускает полуколоны-я сомневаюсь, что он приблизится к прохождению Linter) или b) Google вносит другие изменения в код, заставляя мой разрыв или мою аналитику прекращать отчетность.