Cookie Operate

在网页上对cookie进行操作

Tendrás que instalar una extensión para tu navegador como Tampermonkey, Greasemonkey o Violentmonkey si quieres utilizar este script.

You will need to install an extension such as Tampermonkey to install this script.

Necesitarás instalar una extensión como Tampermonkey o Violentmonkey para instalar este script.

Necesitarás instalar una extensión como Tampermonkey o Userscripts para instalar este script.

Necesitará instalar una extensión como Tampermonkey para instalar este script.

Necesitarás instalar una extensión para administrar scripts de usuario si quieres instalar este script.

(Ya tengo un administrador de scripts de usuario, déjame instalarlo)

Necesitará instalar una extensión como Stylus para instalar este estilo.

Necesitará instalar una extensión como Stylus para instalar este estilo.

Necesitará instalar una extensión como Stylus para instalar este estilo.

Necesitará instalar una extensión del gestor de estilos de usuario para instalar este estilo.

Necesitará instalar una extensión del gestor de estilos de usuario para instalar este estilo.

Necesitará instalar una extensión del gestor de estilos de usuario para instalar este estilo.

(Ya tengo un administrador de estilos de usuario, déjame instalarlo)

// ==UserScript==
// @name         Cookie Operate
// @namespace    http://tampermonkey.net/
// @version      0.1.1
// @description  在网页上对cookie进行操作
// @author       myaijarvis
// @match        https://www.toutiao.com/*
// @run-at       document-end
// @grant        GM_setClipboard
// @grant        GM_deleteValue
// @grant        GM_deleteValue
// @grant        unsafeWindow
// ==/UserScript==

/*
注意:
document.cookie 只能获取当前页面可见的 cookie,它不包括 HTTP-only cookies、Secure cookies、以及其他域的 cookies。这是出于安全和隐私的考虑,防止通过脚本获取敏感信息。
在页面上,通过 JavaScript 访问的 cookie 主要受到 SameSite 属性和 HTTP-only 属性的限制。SameSite 属性规定了 cookie 是否可以随着跨站请求发送,而 HTTP-only 属性则禁止通过脚本访问 cookie。
如果你需要获取所有 cookie,包括 HTTP-only 的和其他域的,一种方法是通过浏览器的开发者工具查看。在 Chrome 浏览器中,你可以按 F12 打开开发者工具,然后切换到 "Application" 或 "Storage" 标签,查看 "Cookies" 部分。
*/
(function() {
    'use strict';

    // 添加一个输入框用于输入cookie的key
    const keyInput = document.createElement('input');
    keyInput.type = 'text';
    keyInput.placeholder = '输入cookie的key';
    keyInput.style.position = 'fixed';
    keyInput.style.top = '50px';
    keyInput.style.left = '10px';
    keyInput.style.zIndex = '10000';
    keyInput.value='';
    document.body.appendChild(keyInput);

    // 添加一个按钮用于获取cookie值
    const getCookieBtn = document.createElement('button');
    getCookieBtn.textContent = '获取Cookie值';
    getCookieBtn.style.position = 'fixed';
    getCookieBtn.style.top = '90px';
    getCookieBtn.style.left = '10px';
    getCookieBtn.style.zIndex = '10000';
    getCookieBtn.addEventListener('click', function() {
        const key = keyInput.value.trim();
        const cookieValue = getCookie(key);
        alert(`Cookie值为:${cookieValue}`);
    });
    document.body.appendChild(getCookieBtn);

    // 添加一个按钮用于复制cookie值
    const copyCookieBtn = document.createElement('button');
    copyCookieBtn.textContent = '复制Cookie值';
    copyCookieBtn.style.position = 'fixed';
    copyCookieBtn.style.top = '110px';
    copyCookieBtn.style.left = '10px';
    copyCookieBtn.style.zIndex = '10000';
    copyCookieBtn.addEventListener('click', function() {
        const key = keyInput.value.trim();
        const cookieValue = getCookie(key);
        GM_setClipboard(cookieValue);
        alert('Cookie值已复制到剪贴板');
    });
    document.body.appendChild(copyCookieBtn);

    // 添加一个按钮用于删除cookie键值
    const deleteCookieBtn = document.createElement('button');
    deleteCookieBtn.textContent = '删除Cookie值';
    deleteCookieBtn.style.position = 'fixed';
    deleteCookieBtn.style.top = '140px';
    deleteCookieBtn.style.left = '10px';
    deleteCookieBtn.style.zIndex = '10000';
    deleteCookieBtn.addEventListener('click', function() {
        const key = keyInput.value.trim();
        deleteCookie(key);
        alert('Cookie键值已删除');
    });
    document.body.appendChild(deleteCookieBtn);

    // 获取指定key的cookie值
    function getCookie(key) {
        const cookies = document.cookie.split(';');
        console.log(cookies)
        for (const cookie of cookies) {
            const [cookieKey, cookieValue] = cookie.split('=');
            if (cookieKey.trim() === key) {
                return cookieValue;
            }
        }
        return null;
    }

    // 删除指定key的cookie键值
    function deleteCookie(key) {
        document.cookie = `${key}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;`;
    }


})();