您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Replace time format and add share button to each answer
当前为
// ==UserScript== // @name Better Stack Overflow // @namespace http://tampermonkey.net/ // @version 1.0 // @description Replace time format and add share button to each answer // @author Landon Li // @match *://stackoverflow.com/questions/* // @match *://webapps.stackexchange.com/questions/* // @icon https://cdn.sstatic.net/Sites/stackoverflow/Img/favicon.ico // @require https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.min.js // @grant none // ==/UserScript== (function () { 'use strict'; function htmlToElement(html) { var template = document.createElement('template'); html = html.trim(); // Never return a text node of whitespace as the result template.innerHTML = html; return template.content.firstChild; } console.log('Replacing time format...'); var timeSpans = document.evaluate('//div[@class="user-action-time"]//span', document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); for (var i = 0; i < timeSpans.snapshotLength; i++) { var timeSpan = timeSpans.snapshotItem(i); timeSpan.innerText = timeSpan.title; } console.log('Adding share buttons...'); var answerDivs = document.evaluate('//div[@id="answers"]/div[contains(@id, "answer-")]', document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); for (var j = 0; j < answerDivs.snapshotLength; j++) { var answerDiv = answerDivs.snapshotItem(j); var answerID = document.evaluate('./@id', answerDiv, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue.value; var actionDiv = document.evaluate('./div[1]/div[1]/div[1]', answerDiv, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue; var shareLink = window.location.href.split('#')[0] + '#' + answerID; var shareDiv = htmlToElement('<div class="py6 mx-auto"><a href="#' + answerID + '" onclick="navigator.clipboard.writeText(\'' + shareLink + '\')">🔗</a></div>'); actionDiv.appendChild(shareDiv); } })();