【问题标题】:Excluding analytics.js and fbevents.js from Service Worker从 Service Worker 中排除 analytics.js 和 fbevents.js
【发布时间】:2019-06-11 00:23:21
【问题描述】:

是否可以排除通过 PWA 中的 Service Worker 获取 Google Analytics、Google Tag Manager 和 Facebook Pixel 脚本?

根据我今天的发现 - 如果网站使用 Service Worker,则 Facebook Pixel Helper 和 Google Tag Assistant 在重新加载后会返回错误。我不确定是否没有发送数据(Chrome 开发工具显示向 Facebook 和 Google 发送的请求是使用代码 200 发送的)。

看起来这两个脚本都在第一次访问时触发,但在重新加载时不会触发。我没有编程经验,对 Service Worker 的工作方式有一个模糊的概念,但我需要确保我正确获取所有数据,因为我是一名分析师。谁能指出我正确的方向?

【问题讨论】:

  • 您好,欢迎来到本网站,感谢您提出问题。
  • 您好,您解决了这个问题吗?

标签: google-analytics service-worker progressive-web-apps facebook-pixel


【解决方案1】:

如果您对 facebook 像素有疑问,可以尝试这种方式。 您应该在服务人员中排除 facebook 请求。

self.addEventListener('fetch', function(event) {

  if(event.request.url.search("www.facebook.com") != -1 || event.request.url.search("connect.facebook.net") != -1){
    // hack FB Pixel
  }else{
    event.respondWith(
        fetch(event.request).catch(function(error) {
          console.log( '[PWA Builder] Network request Failed. Serving content from cache: ' + error );

          //Check to see if you have it in the cache
          //Return response
          //If not in the cache, then return error page
          return caches.open('pwabuilder-offline').then(function (cache) {
            return cache.match(event.request).then(function (matching) {
              var report =  !matching || matching.status == 404?Promise.reject('no-match'): matching;
              return report
            });
          });
        })
    );
  }



});

你可以用同样的方式破解 Google Tag Assistant

【讨论】:

    猜你喜欢
    • 2018-05-21
    • 1970-01-01
    • 2018-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-19
    • 1970-01-01
    相关资源
    最近更新 更多