【问题标题】:Offline Google Analytics not working离线谷歌分析不起作用
【发布时间】:2018-07-06 12:20:48
【问题描述】:

我无法让 Google Analytics(分析)离线工作。我有一个服务人员:

if ('serviceWorker' in navigator) {
    window.addEventListener('load', () => {
        navigator.serviceWorker.register('js/OfflineGoogleAnalytics.js')
            .then(function (registration) {
                console.log('Registered:', registration);
            })
            .catch(function (error) {
                console.log('Registration failed: ', error);
            });
    });
}

Service Worker 在一个单独的 JavaScript 文件中注册代码,该文件包含:

importScripts('https://storage.googleapis.com/workbox-cdn/releases/3.3.1/workbox-sw.js');
workbox.googleAnalytics.initialize();

我按照以下说明操作:https://developers.google.com/web/tools/workbox/guides/enable-offline-analytics

我正在从 Visual Studio 运行一个 asp.net 核心网站。我通过互联网连接运行该网站,因此它能够在线启动。然后我禁用所有网络适配器以模拟离线模式并浏览各个页面。接下来,我重新启用网络适配器以重新启用 Internet 访问,并进行更多导航。

离线页面浏览量永远不会发送到 Google Analytics,而且我没有看到它们显示在 Google Analytics 仪表板中。

另外,在 Chrome 的开发者工具中,我可以看到 service worker 正在运行并且控制台中没有错误。

我还需要做什么才能让离线 Google Analytics 正常工作吗?

【问题讨论】:

    标签: javascript google-analytics


    【解决方案1】:

    我终于让它工作了。我认为服务人员的范围存在问题。在 Chrome 开发工具中,服务人员从未列出任何“客户端”。我移动了 service worker 注册并归档了一个级别并将范围设置为“/”。

            if ('serviceWorker' in navigator) {
            window.addEventListener('load', () => {
                navigator.serviceWorker.register('OfflineGoogleAnalytics.js', { scope: '/' })
                    .then(function (registration) {
                        console.log('Registered:', registration);
                    })
                    .catch(function (error) {
                        console.log('Registration failed: ', error);
                    });
            });
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-10-05
      • 1970-01-01
      • 1970-01-01
      • 2011-06-26
      • 2017-01-08
      • 2015-02-06
      • 1970-01-01
      相关资源
      最近更新 更多