在仿照壁纸引擎创意工坊物品列表中添加下载按钮,还不完善,先只针对暗黑地牢这一个创意工坊
// ==UserScript==
// @name 创意工坊订阅增强(Steam Workshop Subscription Enhancer)
// @namespace http://tampermonkey.net/
// @version 0.2
// @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 element = item.querySelector('a.ugc');
var itemId = element.getAttribute('data-publishedfileid');
// 检查 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 href="#" 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;
// 检查是否已订阅
var subscribedElement = item.querySelector('[id^="user_action_history_icon_subscribed"]');
// 检查是否已经订阅
var isSubscribed = subscribedElement && window.getComputedStyle(subscribedElement).getPropertyValue('display') === 'none';
// 如果已订阅,添加已订阅的样式
if (!isSubscribed) {
buttonContainer.querySelector('.subscribe').classList.add('toggled');
}
// 添加点击事件处理程序
var subscribeButton = buttonContainer.querySelector('.subscribe');
subscribeButton.addEventListener('click', function(event) {
event.preventDefault(); // 阻止默认行为
SubscribeInlineItem(itemId, '262060');
});
// 将容器插入到图片元素中
previewImage.parentNode.appendChild(buttonContainer);
}
});
};
})();