Sort Steam Achievement

Makes Steam achievements sorted by unlock date.

  1. // ==UserScript==
  2. // @name Sort Steam Achievement
  3. // @namespace http://tampermonkey.net/
  4. // @version 1.1
  5. // @description Makes Steam achievements sorted by unlock date.
  6. // @author Makazeu
  7. // @match *://steamcommunity.com/id/*/stats/*
  8. // @grant none
  9. // @require https://cdn.bootcss.com/moment.js/2.18.1/moment.min.js
  10. // ==/UserScript==
  11.  
  12. /* jshint esversion: 6 */
  13.  
  14. (function() {
  15. 'use strict';
  16.  
  17. let comparator = (a, b) => {
  18. let a_datetime = datetimeParser(
  19. a.children[1].children[0].children[0].innerText.trim());
  20. let b_datetime = datetimeParser(
  21. b.children[1].children[0].children[0].innerText.trim());
  22. return a_datetime.isBefore(b_datetime) ? -1 : 1;
  23. };
  24.  
  25. let datetimeParser = datetime => {
  26. datetime = datetime.substring('解锁日期 '.length);
  27. datetime = datetime.replace('上午', ' AM ');
  28. datetime = datetime.replace('下午', ' PM ');
  29. if (datetime.includes('年')) {
  30. return moment(datetime, 'YYYY年MM月DD日 A HH:mm');
  31. } else {
  32. return moment(datetime, 'MM月DD日 A HH:mm');
  33. }
  34. };
  35.  
  36. let achieveFilter = (key, value) => {
  37. if (value.innerHTML === '') return false;
  38. if (value.children[1].children[0].children.length < 3) return false;
  39. if (!value.children[1].children[0].children[0]
  40. .innerText.includes('解锁')) return false;
  41. return true;
  42. };
  43.  
  44. let achieveSet = jQuery('#personalAchieve');
  45. let achieveRows = achieveSet.children().filter(achieveFilter);
  46. let arr = Array.from(achieveRows);
  47. arr.sort(comparator);
  48.  
  49. for (let i = 0; i < achieveRows.length; i++) {
  50. let element = achieveRows[i];
  51. element.remove();
  52. }
  53.  
  54. arr.forEach( achieve => {
  55. //console.log(achieve.children[1].children[0].children[1].innerText);
  56. achieveSet.prepend(achieve);
  57. });
  58. })();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址