您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Allows you to easily see the full timestamps of posts on boardgamegeek.com
当前为
// ==UserScript== // @name BGG Better Timestamps // @version 2.1 // @description Allows you to easily see the full timestamps of posts on boardgamegeek.com // @author uthbees // @include *boardgamegeek.com/* // @namespace uthbees_scripts // ==/UserScript== var observer = new MutationObserver(callback); var targetNode = document.getElementById('mainbody'); var config = {childList: true, subtree: true }; var months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]; var ready = true;//Because changing the timestamps triggers the mutation observer, we have to disregard the 'hit' we get from it to prevent an infinite loop. function callback(mutations) { if(ready){ var timeElements = document.getElementsByTagName('gg-tstamp'); if(timeElements[0]){ fixTimestamps(timeElements); ready = false; } }else{ ready = true; } } function fixTimestamps(timeElements){ for (var i = 0; i < timeElements.length; i++) { //Main text var timeElement = timeElements[i].firstChild.firstChild.children[1]; var timestamp = timeElement.attributes[1].nodeValue; timestamp = formatTimestamp(timestamp, "post", ""); timeElement.innerText = timestamp; //Tooltip timeElement = timeElements[i].children[1]; if(timeElement.id.slice(0, 12) == "ngb-popover-"){ timeElement = timeElement.children[1].firstChild.children[1]; if(timeElement.innerText.slice(-1) != "s"){ timestamp = timeElement.attributes[1].nodeValue; timestamp = formatTimestamp(timestamp, "tooltip", timeElement.innerText); timeElement.innerText = timestamp; } } } } function formatTimestamp(timestamp, format, tooltip){ d = new Date(timestamp); n = new Date(Date.now()); var month = months[d.getMonth()]; var date = d.getDate().toString(); var adjustedYear = d.getYear() != n.getYear() ? ", "+d.getFullYear().toString() : ""; var hour = ((d.getHours()+11)%12+1).toString(); var minute = ("0"+d.getMinutes().toString()).slice(-2); var AMPM = d.getHours() < 12 ? "am" : "pm"; var second = d.getSeconds().toString(); if(format == "post") return month+" "+date+adjustedYear+" "+hour+":"+minute+" "+AMPM; else if(format == "tooltip") return tooltip+" "+second+"s"; else return "Error - invalid format"; } observer.observe(targetNode, config);
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址