Google Analytics opt-out

Defines the Google Analytics opt-out object on every page.

当前为 2021-10-17 提交的版本,查看 最新版本

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name        Google Analytics opt-out
// @namespace   zdnq5fclhrdh8lgo
// @match       *://*/*
// @grant       none
// @version     1.0
// @license     MIT
// @description Defines the Google Analytics opt-out object on every page.
// @run-at      document-start
// @inject-into content
// ==/UserScript==

(function () {
	"use strict";
	
	const runInPage = (null, function () {
		const optout = {};
		const ioo = () => true;

		
		Reflect.defineProperty(optout, "ioo", {
			enumerable: true,
			configurable: false,
			get() { return ioo; },
			set() {}
		});
		
		Reflect.defineProperty(window, "_gaUserPrefs", {
			enumerable: false,
			configurable: false,
			get() { return optout; },
			set() {}
		});
	});
	
	
	const inject = `"use strict";(${runInPage})();`
	
	if ("wrappedJSObject" in window) {
		// Bypass Firefox sandbox
		window.eval(inject);
	} else {
		// Inject script tag (Chrome)
		const script = document.createElement("script");
		script.text = inject;
		(document.head ?? document.documentElement).prepend(script);
		script.remove();
	}
})();