您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Greasy Fork is available in English.
для зачеркивания выполненых задач
// ==UserScript== // @name UserScript crm // @namespace http://crm.red-promo.ru/ // @version 1.6 // @description для зачеркивания выполненых задач // @author none // @match http://crm.red-promo.ru/* // @grant none // ==/UserScript== (function () { "use strict"; console.log("start"); const getItems = () => JSON.parse(window.localStorage.getItem("task")) ?? []; function lineThrough() { if (document.getSelection().baseNode && !document.getSelection().baseOffset) { const elem = document.getSelection().baseNode.parentElement; if (elem && elem.closest("tr").textContent.includes("Контент") && elem.closest("td")) { elem.classList.add("line"); document.getSelection().removeAllRanges(); updateStorage(); } } } function addslashes(str) { return (str + "").replace(/[\\"']/g, "\\$&").replace(/\u0000/g, "\\0"); } function updateStorage() { let res = getItems(); document.querySelectorAll(".line").forEach((item) => { if (!res.includes(item.textContent)) { res.push(item.textContent); } }); window.localStorage.setItem("task", JSON.stringify(res)); } window.clearStorageTask = function () { window.localStorage.clear(); window.location.reload(); }; function start() { getItems().forEach((item) => $('p:contains("' + addslashes(item) + '")').addClass("line")); $(document.head).append("<style>.line{text-decoration:line-through}</style>"); $(".nav.navbar-nav").first().append('<li><a href="#" onclick="clearStorageTask()">Очистить</a></li>'); document.addEventListener("selectionchange", lineThrough); } window.onload = start; console.log("end"); })();