如何使用 v3 清单在 Chrome 扩展中添加 Google Analytics

Hid*_*oto 6 google-analytics google-chrome

我正在尝试在 Chrome 扩展中添加谷歌分析,但没有成功。

大多数指南都是针对 v2 清单的,而我正在开发的扩展是 v3。

我已经尝试复制并粘贴分析向我推荐的脚本。

我尝试将 CSP 放入清单中,但在 script-src 中使用 url 时崩溃,出现不安全 url 错误。

https://i.stack.imgur.com/NDvi5.png

我尝试将整个 gtag.js 代码复制到 fullScript.js 文件中,并通过analytics.js 文件调用它,但它也不起作用。

https://i.stack.imgur.com/ZrlOY.png

(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
    (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
    m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
    })(window,document,'script',chrome.runtime.getURL('fullScript.js'),'ga');
    
    ga('create', 'G-XXXXXXXX', 'auto');
    ga('send', 'pageview');
Run Code Online (Sandbox Code Playgroud)

我已经尝试过使用 tb 按钮单击事件脚本,但 tb 没有任何反应。

function trackButton(e) {
    _gaq.push(['_trackEvent', e.target.id, 'clicked']);
};

var buttons = document.querySelectorAll('button');
for (var i = 0; i < buttons.length; i++) {
  buttons[i].addEventListener('click', trackButtonClick);
}
Run Code Online (Sandbox Code Playgroud)

我尝试从清单和 popup.html 加载脚本,但它们都不起作用:

弹出.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>TESTE</title>
    <script src='analytics.js'></script>
</head>
<body>
    <h1>TESTE</h1>
    <button id="my-button">TESTE</button>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

清单 V3:

{
    "manifest_version": 3,
    "name": "Hello World",
    "description": "Teste",
    "version": "1.0",
    "action": {
        "default_popup": "popup.html"
    },
    "background": {
        "service_worker": "background.js"
    },
    "content_scripts": [
        {
            "matches": ["https://*/*"],
            "js": ["/analytics.js"]
        }
    ],
    "web_accessible_resources": [
        {
            "resources": ["analytics.js"],
            "matches": ["<all_urls>"]
        },
        {
            "resources": ["fullScript.js"],
            "matches": ["<all_urls>"]
        }
    ],
    "content_security_policy": {
        "extension_pages": "script-src 'self' https://www.googletagmanager.com/gtag/js; object-src 'self'; script-src-elem 'self'"
    },
    "permissions":["tabs", "scripting"]
}
Run Code Online (Sandbox Code Playgroud)