您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
3/29/2020, 5:46:18 PM
// ==UserScript== // @name TJ User Tagging // @namespace Violentmonkey Scripts // @match https://tjournal.ru/* // @grant none // @version 1.11 // @license CC0 // @author - // @description 3/29/2020, 5:46:18 PM // ==/UserScript== function setTag(userId) { let tags = JSON.parse(localStorage.userTags || '{}'); let oldColor = '#' + ((tags[userId] ? tags[userId].split('#')[1] : null) || '888888'); let newTag = prompt('Тег, или тег#цвет:', tags[userId] ? tags[userId].split('#')[0] : ''); if (newTag == null) return; localStorage.userTags = JSON.stringify(Object.assign(tags, { [userId]: newTag }), (k, v) => v ? v : void 0); tagsUpdate(); if (newTag && newTag.indexOf('#') === -1){ with (document.body.appendChild(document.createElement('input'))){ type = 'color'; value = oldColor; style.display = 'none'; onchange = function(){ localStorage.userTags = JSON.stringify(Object.assign(tags, { [userId]: newTag + this.value }), (k, v) => v ? v : void 0); tagsUpdate(); document.body.removeChild(this); }; click(); } } } function addTagButton() { let target = document.querySelector('.etc_control[data-subsite-url]'); if (target && !document.querySelector('._tg')) { with (target.insertAdjacentElement('afterend', document.createElement('div'))) { onclick = () => /\/(\d+)-/.test(location.href) && setTag(RegExp.$1); className = '_tg ui-button ui-button--5 l-ml-12 lm-ml-0 lm-mr-12'; innerHTML = '<span></span>' } } setTimeout(addTagButton, 500); } function isColorDark(color) { return !color || (color.length == 6 ? parseInt(color.substr(2, 2), 16) : parseInt(color[1], 16) * 16) < 200; } function tagsUpdate() { let tags = JSON.parse(localStorage.userTags || '{}'); (window._tgStyle || (window._tgStyle = document.body.appendChild(document.createElement('style')))).innerHTML = ` .user_name:after, .content-header-author:after, .vote__users__item .vote__users__item__name:after, .live__item__user:after { display:inline-block; padding:2px 4px 3px 4px; margin:-2px 4px -3px 4px; border-radius:2px; font-weight:normal; font-size:small; } .vote__users__item .vote__users__item__name:after { padding:0 4px 0 4px; margin:-2px 4px -3px 4px; } .etc_control[data-subsite-url] + ._tg { content:"Тег"; height:34px; line-height:34px; font-size:15px; padding:0 20px; border-radius:4px; display:inline-block; font-weight:normal; margin-left:8px; cursor:pointer; } .etc_control[data-subsite-url] + ._tg span:after { content:"Тег"; } ` + Object.keys(tags).filter(x => tags[x]).map(x => `a[href*="/${x}-"] .user_name:after, .vote__users__item[href*="/${x}-"] .vote__users__item__name:after, .content-header-author[href*="/${x}-"]:after, .live__item__user[href*="/${x}-"]:after, .etc_control[data-subsite-url*="/${x}-"] + ._tg, .etc_control[data-subsite-url*="/${x}-"] + ._tg span:after { content: "${tags[x].split('#')[0]}"; background: #${tags[x].split('#')[1] || '888'} !important; color: #${isColorDark(tags[x].split('#')[1]) ? 'fff' : '000'} !important; }`).join('\n'); } addTagButton(); tagsUpdate();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址