// ==UserScript== // @name Cookies切换 // @namespace http://tampermonkey.net/ // @version 0.2 // @description 掌控你的cookie吧~~ // @author Cheney // @match http://*/* // @match https://*/* // @require https://code.jquery.com/jquery-3.6.0.min.js // @icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAYAAACpSkzOAAAAAXNSR0IArs4c6QAAArlJREFUSEullktoE0EYx//ftEKxD2uVFitW8AH25AssKIiCvVQQsaAeeiiKBzWZRMylXmwvnipkZ6OUoniwh6BexMdBPYiIggcVRS1YwQdUbKWRIhLbuJ+d3abNdjfJNlmYw+73+H0z859vllDgYSlbAMQAVJNSxwv5FrORnwNHo/VgvgDmkzn2PlKqt1jCfHYPiKPRLbCsAQBtniDL2kuJxONSYC4Qh0IHIcRVAA2+yZiryDT/lgXiUKgZQjwBsN43EdFLMoztpUB0zNyMWMpLAE5lE70Zz+Dy6z8YaK9zPjGPkGluLAvEUnYAuJebpFaN2a89bdU411btmIgOk2HcLAVmz4ilvALAJV/PjLLZS4QRR6OrYFnvAdQvotIkgM+kVE/QGGIpTwNIBA3I8RsmpVqDxmmQlvOxoAE5fmkIsY7i8e9BYokjkadg3hXE2ccncLfQoHEwrywRpMM8MI7FGqm/35Ht7OMBfZ38Z5ta6ipc7NHfFtpvpbC2tgL3Oz26+QTmb7NHYA+EOEPxeHwhyLV0+vy0NlTiRZe7C32YyGDH0IRdwLvuFcUWYBjMnWSaWs0OnyORa2Duzn7YnZxAzRLhVzVejWXQtFSguUYUA2l7Gun0Ghoc/OmApNSt/3yQyCA+qbSF5VWuQvocUCi0CUK8BVAZJFEhn0O3f+Hhlyl7aRfs8dlsC7oOoKtc0IkHk3g2Oo2hjmXY2jhX9w9MT7c6oHB4P4julgvKE99LSvXNXxORSBLMRwrBFikGneoOKXXA3qPcxCwl5wMtUt46zSgptXpO3i5QOLwZRI9mmqynU0xOMfbdSGFbU+X8ZZivKqLnZBg7XQfWz7csyRPFyDAuLszr+7uVI5CjAPQoJv0MAL3HSTJN103tu3S+s3POmYZtmB3Z/4aPM0dixB6WlaREYriQkP4DhYT2pc+2+CQAAAAASUVORK5CYII= // @grant GM_cookie // @grant GM_getValue // @grant GM_setValue // @license MIT // @downloadURL https://update.greasyfork.icu/scripts/495234/Cookies%E5%88%87%E6%8D%A2.user.js // @updateURL https://update.greasyfork.icu/scripts/495234/Cookies%E5%88%87%E6%8D%A2.meta.js // ==/UserScript== (function () { "use strict"; const hostname = location.hostname; const domain = hostname; const cookiesConfig = GM_getValue("cookiesConfig", {}); const mainClassName = `cookieSwitchWrapper_${randomStr()}`; function randomStr() { const letters = "abcdefghijklmnopqrstuvwxyz"; let str = ""; for (let i = 0; i < 6; i++) { str += letters[Math.floor(Math.random() * 26)]; } return str; } // 关闭操作界面 function closePannel() { $(`.${mainClassName}`).css("transform", "translateX(110%)"); } // 样式 function createStyle() { const css = `.${mainClassName} {position: fixed;z-index: 999999;top: 0;right: 0;width: 1000px;height: 100%;padding: 10px;transition: transform 200ms;transform: translateX(110%);background-color: #fff;box-shadow: -10px 0 10px #ddd;.topWrapper {display: flex;justify-content: space-between;select {min-width: 200px;}.titleInput {font-size: 14px;padding: 4px 8px;outline: none;}}.cookieTable {width: 100%;margin-top: 20px;thead {background-color: #fafafa;th {font-size: 14px;position: relative;padding: 6px;white-space: nowrap;&::before {position: absolute;top: 50%;right: 0;width: 1px;height: 16px;content: "";transform: translateY(-50%);background-color: #f0f0f0;}}}tbody {tr {border-bottom: 1px solid #f0f0f0;td {font-size: 12px;padding: 4px;text-align: center;&.cookie-value {text-align: left;word-break: break-all;}input {width: calc(100% - 8px);padding: 2px;border: 1px solid #fff;outline: none;background-color: transparent;}button {word-break: keep-all;border: 1px solid #ccc;border-radius: 2px;}}}}}.btnWrapper {display: flex;justify-content: center;margin-top: 20px;button {margin-left: 20px;padding: 8px 20px;cursor: pointer;border: 1px solid #ddd;border-radius: 4px;background-color: #fff;&:hover {background-color: #f1f1f1;}}}}`; return $("").text(css); } // 悬浮按钮 function createCookieBtn() { const pageWidth = $(window).width(); const pageHeight = $(window).height(); let left0 = 0; let top0 = 0; const cookieBtn = $( `
` ) .css({ width: "26px", height: "26px", position: "fixed", right: "40px", bottom: "40px", "z-index": 99999, cursor: "pointer", "user-select": "none", "box-shadow": "-4px 4px 8px #ddd ", "border-radius": "50%", }) .mousedown(() => { left0 = parseFloat(cookieBtn.css("left")); top0 = parseFloat(cookieBtn.css("top")); console.log("[ left0, top0 ] =====>", left0, top0); $(document).on("mousemove.drag", (e) => { let left = e.pageX - 13; let top = e.pageY - 13; left = left < 0 ? 0 : left; left = left > pageWidth - 26 ? pageWidth - 26 : left; top = top < 0 ? 0 : top; top = top > pageHeight - 26 ? pageHeight - 26 : top; cookieBtn.css({ left, top, right: "unset", bottom: "unset", }); }); }) .mouseup(() => { const left = parseFloat(cookieBtn.css("left")); const top = parseFloat(cookieBtn.css("top")); if (Math.abs(left0 - left) + Math.abs(top0 - top) < 10) { $(`.${mainClassName}`).css("transform", "translateX(0)"); } $(document).off("mousemove.drag"); }); return cookieBtn; } // 主页面 function createMain() { let title = cookiesConfig[domain]?.[0].title; const titleSelect = $("