您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Convert the timestamps on ScribbleHub chapter comments into permalinks to make sharing comments easier.
当前为
// ==UserScript== // @name SH Permalinks for Comments // @namespace ultrabenosaurus.ScribbleHub // @version 0.2 // @description Convert the timestamps on ScribbleHub chapter comments into permalinks to make sharing comments easier. // @author Ultrabenosaurus // @source https://greasyfork.org/en/users/437117-ultrabenosaurus?sort=name // @match https://www.scribblehub.com/read/*/chapter/* // @grant none // ==/UserScript== (function() { 'use strict'; var SHcomments = document.querySelectorAll('div#comments div.comment_list_main li[id^="comment-"][class^="cmt_li_chp"]'); if( SHcomments.length > 0 ) { UBaddCommentPermalinks(SHcomments); } SHcomments = null; var SHcommentPagination = document.querySelectorAll('div[class*="comments-pagination"] ul#pagination-mesh li:not(.active) a.page-link'); if( SHcommentPagination.length > 0 ) { UBaddPaginationEvents(SHcommentPagination); } SHcommentPagination = null; })(); function UBaddCommentPermalinks(SHcomments) { var permalinkTemplate = "<a class='com_date' title='%timestamp%' href='%perma%'>%when%</a>"; for (var comm in SHcomments) { if (SHcomments.hasOwnProperty(comm)) { var commID = SHcomments[comm].id.split('-')[1]; var commDate = SHcomments[comm].querySelectorAll('div.comment-author.chapter span.com_date')[0]; var commTimestamp = commDate.title; var commWhen = commDate.textContent; var commLink = permalinkTemplate.replace("%perma%", "#comment-"+commID).replace("%timestamp%", commTimestamp).replace("%when%", commWhen); commDate.insertAdjacentHTML("beforebegin", commLink); commDate.remove(); commID = commDate = commTimestamp = commWhen = commLink = null; } } SHcomments = permalinkTemplate = comm = null; } function UBaddPaginationEvents(SHcommentPagination) { for (var pag in SHcommentPagination) { if (SHcommentPagination.hasOwnProperty(pag)) { SHcommentPagination[pag].addEventListener("click", UBpaginationEvent, false); } } SHcommentPagination = pag = null; } function UBpaginationEvent() { setTimeout(function(){ UBaddCommentPermalinks( document.querySelectorAll('div#comments div.comment_list_main li[id^="comment-"][class^="cmt_li_chp"]') ); UBaddPaginationEvents( document.querySelectorAll('div[class*="comments-pagination"] ul#pagination-mesh li:not(.active) a.page-link') ); }, 1000); }