Greasy Fork is available in English.
一键复制网站的cookie,支持字符串,json。
- // ==UserScript==// @name copyCookie// @namespace copyCookie// @version 0.1.2// @author everstu// @description 一键复制网站的cookie,支持字符串,json。// @grant GM_registerMenuCommand// @grant GM_setClipboard// @match *://*/*// @exclude *://192.*// @run-at document-end// @license MIT// @require https://lf6-cdn-tos.bytecdntp.com/cdn/expire-1-M/jquery/3.5.1/jquery.min.js// ==/UserScript==(function () {"use strict";function MyTools() {this.cjVersion = '0.1.0';this.htmlCode = {show: "<div id=\"show\" style=\"position: fixed;z-index:9999;bottom:55px;right:1px;background: #000000;color: white;border-radius: 17px;width: 30px;height: 45px;text-align:center;cursor: pointer;line-height: 45px;font-size:14px;opacity: 0.3;\" >显</div>",hidden: "<div id=\"hidden\" style=\"position: fixed;z-index:9999;bottom:190px;right:1px;background: #000000;color: white;border-radius: 17px;width: 120px;height: 40px;text-align:center;cursor: pointer;line-height: 40px;font-size:14px;opacity: 0.6;\">隐藏插件</div>",cjversion: "<div style=\"position: fixed;z-index:9999;bottom:145px;right:1px;background: #000000;color: white;border-radius: 17px;width: 120px;height: 40px;text-align:center;line-height: 20px;font-size:12px;opacity: 0.6;\">copyCookie<br/>当前版本:" + this.cjVersion + "</div>",copycookie: "<div id=\"copycookie\" style=\"position: fixed;z-index:9999;bottom:100px;right:1px;background: #CD0B02;color: white;border-radius: 17px;width: 120px;height: 40px;cursor: pointer;text-align: center;line-height: 40px;font-size:16px;opacity: 0.9;\" data-can='yes'>复制成文本</div>",copycookiejson: "<div id=\"copycookiejson\" style=\"position: fixed;z-index:9999;bottom:55px;right:1px;background: #CD0B02;color: white;border-radius: 17px;width: 120px;height: 40px;cursor: pointer;text-align: center;line-height: 40px;font-size:15px;opacity: 0.9;\" data-can='yes'>复制成JSON</div>",d_container_start: "<div id=\"d_container\" style=\"display:none;width: 120px;height: 185px;position: fixed;bottom: 1px;right:1px;\">",d_container_end: "</div>",};}MyTools.prototype.getCookiesStr = function () {return document.cookie;};MyTools.prototype.getCookieObj = function () {let cookieObj = {};let cookieStr = this.getCookiesStr();let pairList = cookieStr.split(';');for (var _i = 0, pairList_1 = pairList; _i < pairList_1.length; _i++) {let pair = pairList_1[_i];let _a = pair.trim().split('='), key = _a[0], value = _a[1];cookieObj[key] = value;}return cookieObj;};MyTools.prototype.getCookiesJson = function () {let cookieObj = this.getCookieObj();return JSON.stringify(cookieObj);};MyTools.prototype.copyCookieJson = function () {let cookieJson = this.getCookiesJson();GM_setClipboard(cookieJson, {type: 'text', mimetype: 'text/plain'});};MyTools.prototype.copyCookieString = function () {GM_setClipboard(this.getCookiesStr(), {type: 'text', mimetype: 'text/plain'});};MyTools.prototype.copyString = function (type, obj) {let oldHtml = '';let domObj = $(obj);if (domObj.data('can') === 'no') {return;}if (type === 'json') {this.copyCookieJson();oldHtml = '复制成JSON';} else {this.copyCookieString();oldHtml = '复制成文本';}domObj.data('can', 'no');domObj.css('background', '#0C986C');domObj.html('复制成功');setTimeout(function () {domObj.data('can', 'yes');domObj.html(oldHtml);domObj.css('background', '#CD0B02');}, 300);};MyTools.prototype.initTools = function () {let html = '';let obj = this;html += this.htmlCode.show;html += this.htmlCode.d_container_start;// html += this.htmlCode.hidden;html += this.htmlCode.cjversion;html += this.htmlCode.copycookie;html += this.htmlCode.copycookiejson;html += this.htmlCode.d_container_end;$('body').append(html);$('#copycookie').click(function () {obj.copyString('string', this);});$('#copycookiejson').click(function () {obj.copyString('json', this);});$('#d_container').mouseleave(function () {$(this).hide();$('#show').show();});$('#show').hover(function () {$(this).hide();$('#d_container').show();});};MyTools.prototype.request = function () {$.ajax({type: "get",async: false,url: '',dataType: "text",xhrFields: {withCredentials: true},success: function (res) {console.log(this);},error: function (res) {}});}setTimeout(function () {let tools = new MyTools();tools.initTools();}, 100);})();