您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
移除網址中的跟踪參數
当前为
- // ==UserScript==
- // @name Remove URL Tracking Parameters
- // @namespace http://tampermonkey.net/
- // @version 1.3
- // @description 移除網址中的跟踪參數
- // @author abc0922001
- // @match *://*/*
- // @grant none
- // @license MIT
- // ==/UserScript==
- (function() {
- 'use strict';
- // 使用 Set 來存儲跟踪參數
- const trackingParams = new Set([
- 'utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',
- 'fbclid', 'gclid', 'yclid', 'mc_cid', 'mc_eid', 'dclid','from'
- ]);
- function removeTrackingParams(url) {
- const urlObj = new URL(url);
- let params = urlObj.searchParams;
- let removed = false;
- for (let param of trackingParams) {
- if (params.has(param)) {
- params.delete(param);
- removed = true;
- }
- }
- return removed ? urlObj.toString() : url;
- }
- function cleanURL() {
- try {
- const currentUrl = window.location.href;
- const cleanedUrl = removeTrackingParams(currentUrl);
- if (cleanedUrl !== currentUrl) {
- window.history.replaceState({}, document.title, cleanedUrl);
- }
- } catch (error) {
- console.error('Error processing URL:', error);
- }
- }
- // 初始清理
- cleanURL();
- // 監聽 URL 變化
- window.addEventListener('popstate', cleanURL);
- // 對於單頁應用,可以考慮額外監聽自定義事件
- // 例如:window.addEventListener('routechange', cleanURL);
- })();