创意工坊订阅增强(Steam Workshop Subscription Enhancer)

在仿照壁纸引擎创意工坊物品列表中添加下载按钮,还不完善,先只针对暗黑地牢这一个创意工坊

当前为 2023-11-25 提交的版本,查看 最新版本

// ==UserScript==
// @name         创意工坊订阅增强(Steam Workshop Subscription Enhancer)
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  在仿照壁纸引擎创意工坊物品列表中添加下载按钮,还不完善,先只针对暗黑地牢这一个创意工坊
// @author       fly9593
// @match        https://steamcommunity.com/workshop/browse/?appid=262060*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=openai.com
// @grant        none
// @license MIT
// ==/UserScript==

(function() {
    'use strict';

    // 等待页面完全加载后再执行脚本
    window.onload = function() {
        // 获取所有的创意工坊物品
        var items = document.querySelectorAll('.workshopItem');

        items.forEach(function(item) {
            // 使用 getAttribute 方法获取 data-publishedfileid 属性的值
            //var itemId = item.getAttribute('data-publishedfileid');
            var element = item.querySelector('a.ugc');
            var itemId = element.getAttribute('data-publishedfileid');
            //console.log(itemId);

            // 检查 itemId 是否为 "null"
            if (itemId !== "null") {
                // 输出 itemId 的值到控制台
                console.log(itemId);

                // 构建下载按钮的 HTML 代码
                var downloadButtonHTML = `
                    <div class="workshopItemSubscriptionControls aspectratio_square">
                        <span class="action_wait" id="action_wait_${itemId}" style="display: none;">
                            <img src="https://community.cloudflare.steamstatic.com/public/images/login/throbber.gif">
                        </span>
                        <a onclick="SubscribeInlineItem('${itemId}', '262060'); return false;" class="general_btn subscribe ">
                            <div class="subscribeIcon"></div>
                        </a>
                    </div>
                `;

                // 获取创意工坊物品图片元素
                var previewImage = item.querySelector('.workshopItemPreviewImage');

                // 创建容器元素,用于定位下载按钮
                var buttonContainer = document.createElement('div');
                buttonContainer.classList.add('download-button-container');
                buttonContainer.innerHTML = downloadButtonHTML;

                // 将容器插入到图片元素中
                previewImage.parentNode.appendChild(buttonContainer);

            }
        });
    };
})();