您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Myshopage Tool For Saker!
// ==UserScript== // @name Myshopage: 禁止消息弹窗 // @namespace http://tampermonkey.net/ // @version 1.0.0 // @description Myshopage Tool For Saker! // @author Jimmy // @include *.myshopage.com/admin/* // @icon https://img.staticdj.com/02face4114a147617cabf02ab9c59cec.png // @require https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.min.js // @require https://cdn.jsdelivr.net/npm/[email protected]/moment.min.js // @require https://cdn.jsdelivr.net/npm/[email protected]/dist/sweetalert2.all.min.js // @license AGPL License // @grant GM_setValue // @grant GM_getValue // @grant GM_xmlhttpRequest // @grant GM_addStyle // @grant GM_cookie // @run-at document-idle // ==/UserScript== (function() { //弹出框提示 let toast = Swal.mixin({ toast: true, position: 'top-end', showConfirmButton: false, timer: 3500, timerProgressBar: false, didOpen: (toast) => { toast.addEventListener('mouseenter', Swal.stopTimer); toast.addEventListener('mouseleave', Swal.resumeTimer); } }); //数据操作 let util = { clog(c) { console.log(c); }, getCookie(name) { let arr = document.cookie.replace(/\s/g, "").split(';'); for (let i = 0, l = arr.length; i < l; i++) { let tempArr = arr[i].split('='); if (tempArr[0] == name) { return decodeURIComponent(tempArr[1]); } } return ''; }, getValue(name) { return GM_getValue(name); }, setValue(name, value) { GM_setValue(name, value); }, getStorage(key) { return localStorage.getItem(key); }, setStorage(key, value) { return localStorage.setItem(key, value); }, blobDownload(blob, filename) { if (blob instanceof Blob) { const url = URL.createObjectURL(blob); const a = document.createElement('a'); a.href = url; a.download = filename; a.click(); URL.revokeObjectURL(url); } }, message: { success(text) { toast.fire({title: text, icon: 'success'}); }, error(text) { toast.fire({title: text, icon: 'error'}); }, warning(text) { toast.fire({title: text, icon: 'warning'}); }, info(text) { toast.fire({title: text, icon: 'info'}); }, question(text) { toast.fire({title: text, icon: 'question'}); } }, post(url, data, headers, type) { if (Object.prototype.toString.call(data) === '[object Object]') { data = JSON.stringify(data); } console.log("url",url) console.log("data",data) return new Promise((resolve, reject) => { GM_xmlhttpRequest({ method: "POST", url, headers, data, responseType: type || 'json', onload: (res) => { type === 'blob' ? resolve(res) : resolve(res.response || res.responseText); }, onerror: (err) => { reject(err); }, }); }); }, get(url, headers, type) { return new Promise((resolve, reject) => { let requestObj = GM_xmlhttpRequest({ method: "GET", url, headers, responseType: type || 'json', onload: (res) => { if (res.status === 404) { requestObj.abort(); } resolve(res.response || res.responseText); }, onprogress: (res) => { }, onloadstart() { }, onerror: (err) => { reject(err); }, }); }); }, addStyle(id, tag, css) { tag = tag || 'style'; let doc = document, styleDom = doc.getElementById(id); if (styleDom) return; let style = doc.createElement(tag); style.rel = 'stylesheet'; style.id = id; tag === 'style' ? style.innerHTML = css : style.href = css; doc.getElementsByTagName('head')[0].appendChild(style); }, getUrlParam(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg); if (r != null) return unescape(r[2]); return null; } }; util.addStyle("saker","style",'.ant-notification.ant-notification-bottomRight{display: none;}') })();