RefenceError: UET не определен - PullRequest
2 голосов
/ 11 февраля 2020

Я пытаюсь понять, почему эта ошибка javascript появляется на моем веб-сайте, и я не могу воспроизвести ее. Я следовал документации по bing, чтобы установить их пиксель отслеживания, поэтому у меня это есть в заголовке:

  <script>
    (function(w,d,t,r,u){var f,n,i;w[u]=w[u]||[],f=function(){
      var o={ti:"xxxxxxxx"};o.q=w[u],w[u]=new UET(o),
              w[u].push("pageLoad")},n=d.createElement(t),n.src=r, n.async=1,
            n.onload=n.onreadystatechange=function(){var s=this.readyState;
              s&&s!=="loaded"&&s!=="complete"||(f(),n.onload=n.onreadystatechange=null)},
            i=d.getElementsByTagName(t)[0],i.parentNode.insertBefore(n,i)})
    (window,document,"script","//bat.bing.com/bat.js","uetq");
  </script>

Однако в некоторых браузерах переменная UET в этом коде загружается по URL, указанному как r переменная, кажется, не определена, хотя она вызывается только при загрузке URL-адреса ...

Если кто-то сможет разобраться в этом, прежде чем я обращусь к bing, я буду очень благодарен!

1 Ответ

3 голосов
/ 21 марта 2020

Блокировка рекламы / трекера.

Если пользователь блокирует домен bat.bing.com, то UET никогда не будет определено.

Например, консоль FireFox при доступе к веб-сайту, который вносит вклад в отслеживание Bing, блокируя такие вещи: FireFox console with Bing tracking blocked


Что касается «исправления», то, на мой взгляд, наиболее подходящим решением является его игнорирование *. Если вы видите это в Sentry.io или аналогичном, то единственное вхождение можно игнорировать, а не все неопределенные ошибки переменных (которые, конечно, вы не захотите игнорировать):

Пользователь намеренно блокировка, и ошибка не видна пользователю (без открытия консоли), так что не о чем беспокоиться.

* Конечно, вы не всегда можете загружать трекеры ни для одного из ваших пользователей; )

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...