您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Add clickable link on comment date
// ==UserScript== // @name LZTCommentLink // @namespace MeloniuM/LZT // @version 1.3.1 // @description Add clickable link on comment date // @author MeloniuM // @license MIT // @match http*://zelenka.guru/* // @match http*://lolz.live/* // @icon data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== // @grant none // ==/UserScript== (function() { 'use strict'; if (!$('.thread_view, .member_view').length) return;//включаем только в темах и в профиле let profile = false; if ($('.member_view').length) profile = true; //в профиле не подключён https://zelenka.guru/js/lolzteam/thread_improvements/core.min.js поэтому назначим функцию сами. if (XenForo.animateBackgroundColor == undefined){ XenForo.animateBackgroundColor = function(e) { var t = e.css("background-color"); e.animate({ backgroundColor: "rgb(45,45,45)" }, 300, function() { setTimeout(function() { e.animate({ backgroundColor: t }, 300) }, 2e3) }) } } function addLink(elem){ const link = location.origin + location.pathname + '#' + $(elem).closest('.comment').attr('id'); $(elem).wrap('<a href="' + link + '" class="item messageDateInBottom datePermalink" style="display: inline; margin-left: 0;" data-phr="Ссылка скопирована"></a>'); $(elem).on('click', function(event){ event.preventDefault(); const $target = $(event.target).closest('a.messageDateInBottom'); if (profile){//в профилях ссылка динамическая, поэтому просто копируем в буфер Clipboard.copy(encodeURI($target[0].href), $target[0]); return; } let html = '<form class=\"section permalinkInfo\">\n\n\t<div class=\"permalinkContainer\" style=\"padding: 15px 20px;\">\n\t\t<b>Постоянная ссылка<\/b>\n\t\t\t<input type=\"url\" dir=\"ltr\" class=\"textCtrl fillSpace permalink mn-15-0-0\" value=\"'+ encodeURI($target[0].href) +'" autofocus=\"on\" \/>\n\t\t'; html += '<div class=\"mn-30-0-0\">\n\t\t\t<b>BB-код ссылки<\/b>\n\t\t\t<input type=\"text\" dir=\"ltr\" class=\"textCtrl fillSpace mn-15-0-0\" id=\"bb_code_link_snippet\" value=\"[URL="'+ encodeURI($target[0].href) +'"]'+ $('.thread_view .titleBar h1')[0].title +'[\/URL]\" \/>\n\t\t<\/div>\n\t\t'; html += '<div class=\"mn-30-0-0\">\n\t\t\t<b>HTML-код ссылки<\/b>\n\t\t\t<input type=\"text\" dir=\"ltr\" class=\"textCtrl fillSpace mn-15-0-0\" id=\"html_link_code\" value=\"<a href="'+ encodeURI($target[0].href) +'">'+ $('.thread_view .titleBar h1')[0].title +'<\/a>\" \/>\n\t\t<\/div>\n\t<\/div>\n\t\n\n<\/form>' XenForo.createOverlay(//показываем менюшку null, $('<div class="section permalinkInfo"></div>').html(html), { title: 'Постоянная ссылка для комментария', className: 'comment_link' } ).load(); }); } $(document).ready(function(){ //скроллинг до комментария и анимация при загрузке страницы if (location.hash != ''){ var $scrollTo = $(location.hash); if ($scrollTo.length){ $scrollTo.get(0).scrollIntoView({block: 'end', behavior: 'smooth'}); XenForo.animateBackgroundColor($scrollTo); }else{//если комментария нет на этой странице if (profile && location.hash.startsWith('#profile-post-comment-')){ const comment_id = location.hash.substr(22); if (!isNaN(comment_id)){//это ведь цифры да?) XenForo.ajax('profile-posts/comments/' + comment_id).then(data => { XenForo.alert('Комментарий на другой странице, перенаправляю..', '', 2e3); location.href = data._redirectTarget.split('#')[0] + location.hash; }); //todo: пофиксить случай когда коммент не найден (ajax вернут 404) // на работу не влияет, но в консоль ошибку кидает. } } } } $('.comment .DateTime:not(a .DateTime)').each(function(index){ addLink(this); }); }); $('.thread_view, .messageSimpleList').on('DOMNodeInserted', function(event) {//при добавлении комментария if (!$(event.target).is('.comment, .messageSimple')) return; $(event.target).find('.DateTime:not(a .DateTime)').each(function(index){ addLink(this); }); }); })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址