// ==UserScript== // @name X岛-EX // @namespace http://tampermonkey.net/ // @version 1.2.12 // @description X岛揭示板增强:快捷切换饼干/添加页首页码/关闭上传水印/预览真实饼干/当页回复编号/隐藏无标题-无名氏/『分组标记饼干』/『屏蔽饼干』/『屏蔽关键词』。 // @author XY // @match https://*.nmbxd1.com/*/* // @grant GM_getValue // @grant GM_setValue // @grant GM_addValueChangeListener // @grant GM_xmlhttpRequest // @require https://cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.min.js // @license WTFPL // @note 致谢:切饼代码来自[XD-Enhance](https://greasyfork.org/zh-CN/scripts/438164-xd-enhance) // @note 联动:可使[增强x岛匿名版](https://greasyfork.org/zh-CN/scripts/513156-%E5%A2%9E%E5%BC%BAx%E5%B2%9B%E5%8C%BF%E5%90%8D%E7%89%88)添加的预览中显示当前饼名(如ID:cOoKiEs),而非ID:cookies // @downloadURL https://update.greasyfork.icu/scripts/531005/X%E5%B2%9B-EX.user.js // @updateURL https://update.greasyfork.icu/scripts/531005/X%E5%B2%9B-EX.meta.js // ==/UserScript== (function($){ 'use strict'; /* -------------------------------------------------- * 0. 通用与工具函数 * -------------------------------------------------- */ const toast = msg => { let $t = $('#ae-toast'); if (!$t.length) { $t = $(`
`); $('body').append($t); } $t.text(msg).stop(true).fadeIn(240).delay(1800).fadeOut(240); }; const Utils = { strToList(s) { if (!s) return []; const list = [], esc = ',,\\'; let cur = ''; for (let i = 0; i < s.length; i++) { const ch = s[i]; if (ch === '\\' && i + 1 < s.length && esc.includes(s[i+1])) { cur += s[++i]; } else if (ch === ',' || ch === ',') { const t = cur.trim(); if (t) list.push(t); cur = ''; } else cur += ch; } const t = cur.trim(); if (t) list.push(t); return [...new Set(list)]; }, cookieLegal: s => /^[A-Za-z0-9]{3,7}$/.test(s), cookieMatch: (cid,p) => cid.toLowerCase().includes(p.toLowerCase()), firstHit(txt,list) { return list.find(k=>txt.toLowerCase().includes(k.toLowerCase()))||null; }, collapse($elem, hint) { if (!$elem.length || $elem.data('xdex-collapsed')) return; const $icons = $elem.find('.h-threads-item-reply-icon'); let nums = ''; if ($icons.length) { const f = $icons.first().text(); const l = $icons.last().text(); nums = $icons.length>1 ? `${f}-${l} ` : `${f} `; } const cap = `${nums}${hint}`; const $ph = $(`当前已退出登录,无法切换饼干。