Greasy Fork

Greasy Fork is available in English.

清除Cookies与复制Cookies

脚本菜单包含清除和复制功能。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

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

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

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

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @name        清除Cookies与复制Cookies
// @author       ChatGPT
// @version      1.0
// @description 脚本菜单包含清除和复制功能。
// @match       *://*/*
// @grant       GM_registerMenuCommand
// @grant       GM_setClipboard
// @namespace http://greasyfork.icu/users/452911
// ==/UserScript==

(function() {
    'use strict';

    // 清除所有Cookie的函数
    function clearAllCookies() {
        // 获取顶级域以清除域相关的Cookie
        let domain = window.location.hostname;
        if (domain.split('.').length > 2) {
            domain = '.' + domain.split('.').slice(-2).join('.');
        }

        // 获取所有Cookie名称
        const cookieNames = document.cookie.match(/[^ =;]+(?=\=)/g) || [];

        // 清除所有Cookie
        cookieNames.forEach(cookieName => {
            document.cookie = `${cookieName}=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/; domain=${domain}`;
            document.cookie = `${cookieName}=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/; domain=`;
        });

        alert('所有Cookie已被清除。');
    }

    // 复制所有Cookie到剪贴板的函数
    function copyCookiesToClipboard() {
        const cookies = document.cookie;
        GM_setClipboard(cookies);
        alert('Cookie已复制到剪贴板。');
    }

    // 注册操作到用户脚本菜单
    GM_registerMenuCommand("清除所有Cookie", clearAllCookies);
    GM_registerMenuCommand("复制Cookie到剪贴板", copyCookiesToClipboard);
})();