🏠 返回首頁 

Greasy Fork is available in English.

Steam Community Items Forum Code Quick Generation

Extracts image urls from Steam Card Exchange


安装此脚本?
  1. // ==UserScript==
  2. // @name Steam Community Items Forum Code Quick Generation
  3. // @namespace http://tampermonkey.net/
  4. // @version 1.01
  5. // @author 祈之羽
  6. // @match https://www.steamcardexchange.net/index.php?gamepage-appid-*
  7. // @grant GM_setClipboard
  8. // @license MIT
  9. // @description Extracts image urls from Steam Card Exchange
  10. // ==/UserScript==
  11. (function() {
  12. 'use strict';
  13. var showcaseElement = document.querySelector('span.tracking-wider.text-3\\.5xl.font-league-gothic.truncate');
  14. showcaseElement.addEventListener('click', function() {
  15. var divElements = document.querySelectorAll('div.flex.justify-between.w-full.text-sxs');
  16. var normalCards = [];
  17. var shinyCards = [];
  18. var badges = [];
  19. var emoticons = [];
  20. var profileBackgrounds = [];
  21. divElements.forEach((div, index) => {
  22. var parentDiv = div.parentNode;
  23. var imgElement = parentDiv.querySelector('img');
  24. if (imgElement !== null) {
  25. if (index < divElements.length / 2) {
  26. normalCards.push(`[img]${imgElement.src}[/img]`);
  27. } else {
  28. shinyCards.push(`[img]${imgElement.src}[/img]`);
  29. }
  30. }
  31. });
  32. var booster = document.querySelector('div.flex.flex-col.items-center.p-5.gap-y-4.bg-gray-light > img');
  33. var boosterSrc = `[img]${booster.src.replace('&l=english', '&l=chinese')}[/img]`;
  34. var badgeElements = document.querySelectorAll('div.flex.flex-col.items-center.p-5.gap-y-2.bg-gray-light');
  35. badgeElements.forEach((badgeElement) => {
  36. var targetElement = badgeElement.querySelector('.text-xs.text-key-gray');
  37. if (targetElement) {
  38. var imgElement = badgeElement.querySelector('img');
  39. if (imgElement !== null) {
  40. badges.push(`[img]${imgElement.src}[/img]`);
  41. }
  42. }
  43. });
  44. var shinyBadge = badges.pop();
  45. var emoticonElements = document.querySelectorAll('div.text-sm.text-center.break-all');
  46. emoticonElements.forEach((emoticonElement) => {
  47. var parentElement = emoticonElement.parentNode;
  48. var imgElements = parentElement.querySelectorAll('img');
  49. if (imgElements.length > 1) {
  50. emoticons.push(`[img]${imgElements[1].src}[/img]`);
  51. }
  52. });
  53. var backgroundElements = document.querySelectorAll('div.flex.justify-end.w-full.text-sxs');
  54. backgroundElements.forEach((backgroundElement) => {
  55. var parentElement = backgroundElement.parentNode;
  56. var imgElement = parentElement.querySelector('img.cursor-pointer.gallery-static-trigger');
  57. if (imgElement !== null) {
  58. var src = imgElement.src.split('?')[0];
  59. profileBackgrounds.push(`[img]${src}[/img]`);
  60. }
  61. });
  62. var currentURL = window.location.href;
  63. var appid = currentURL.split('gamepage-appid-')[1];
  64. var outputString = "[sframe]" + appid + "[/sframe]\n数据来源:[url=" + currentURL + "]" +
  65. currentURL + "[/url]" + "\n\n[k1]普通卡牌[/k1]\n" + normalCards.join('') +
  66. "\n\n[k1]闪亮卡牌[/k1]\n" + shinyCards.join('') +
  67. "\n\n[k1]补充包[/k1]\n" + boosterSrc +
  68. "\n\n[k1]普通徽章[/k1]\n" + badges.join('') +
  69. "\n\n[k1]闪亮徽章[/k1]\n" + shinyBadge +
  70. "\n\n[k1]表情[/k1]\n" + emoticons.join('') +
  71. "\n\n[k1]个人资料背景[/k1]\n" + profileBackgrounds.join('');
  72. GM_setClipboard(outputString); // Copy to clipboard
  73. alert("Generated code has been copied to clipboard!");
  74. }, false);
  75. })();