您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Makes Steam achievements sorted by unlock date.
- // ==UserScript==
- // @name Sort Steam Achievement
- // @namespace http://tampermonkey.net/
- // @version 1.1
- // @description Makes Steam achievements sorted by unlock date.
- // @author Makazeu
- // @match *://steamcommunity.com/id/*/stats/*
- // @grant none
- // @require https://cdn.bootcss.com/moment.js/2.18.1/moment.min.js
- // ==/UserScript==
- /* jshint esversion: 6 */
- (function() {
- 'use strict';
- let comparator = (a, b) => {
- let a_datetime = datetimeParser(
- a.children[1].children[0].children[0].innerText.trim());
- let b_datetime = datetimeParser(
- b.children[1].children[0].children[0].innerText.trim());
- return a_datetime.isBefore(b_datetime) ? -1 : 1;
- };
- let datetimeParser = datetime => {
- datetime = datetime.substring('解锁日期 '.length);
- datetime = datetime.replace('上午', ' AM ');
- datetime = datetime.replace('下午', ' PM ');
- if (datetime.includes('年')) {
- return moment(datetime, 'YYYY年MM月DD日 A HH:mm');
- } else {
- return moment(datetime, 'MM月DD日 A HH:mm');
- }
- };
- let achieveFilter = (key, value) => {
- if (value.innerHTML === '') return false;
- if (value.children[1].children[0].children.length < 3) return false;
- if (!value.children[1].children[0].children[0]
- .innerText.includes('解锁')) return false;
- return true;
- };
- let achieveSet = jQuery('#personalAchieve');
- let achieveRows = achieveSet.children().filter(achieveFilter);
- let arr = Array.from(achieveRows);
- arr.sort(comparator);
- for (let i = 0; i < achieveRows.length; i++) {
- let element = achieveRows[i];
- element.remove();
- }
- arr.forEach( achieve => {
- //console.log(achieve.children[1].children[0].children[1].innerText);
- achieveSet.prepend(achieve);
- });
- })();