您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Subscribe to all guides from Dota 2 workshop in 1 click
当前为
// ==UserScript== // @name Dota 2 Workshop Guide 1 click subscribe // @author popiazaza // @namespace popiazaza // @description Subscribe to all guides from Dota 2 workshop in 1 click // @version 1.4 // @include https://steamcommunity.com/id/*/myworkshopfiles/?section=guides* // @grant none // ==/UserScript== function dota2workshopsubnext(loaded = 0,subscribe = true){ if (jQuery(".pagebtn.disabled").length) { if(subscribe){ ShowConfirmDialog( 'Success!', 'You have subsribed to ' + loaded + ' guides!').done(function(){window.location = '?section=guides';}); }else{ ShowConfirmDialog( 'Success!', 'You have unsubsribed to ' + loaded + ' guides!').done(function(){window.location = '?section=guides';}); } }else{ jQuery(".pagebtn").each(function(){ if(jQuery(this).text() == '>' && jQuery(this).attr('href')){ if(subscribe){ window.location = jQuery(this).attr('href') + '&d2wg_all=' + loaded; }else{ window.location = jQuery(this).attr('href') + '&d2wg_un=' + loaded; } } }); } } function dota2workshopsubnownuke(){ dota2workshopsubnow(999999); } function dota2workshopunsubnow(){ dota2workshopsubnow(0,false); } function dota2workshopunsubnownuke(){ dota2workshopsubnow(999999,false); } function dota2workshopsubnow(d2wg_all = 0,subscribe = true){ var guideList = []; var subscribedList = []; jQuery("script").each(function(){ var guidematch = jQuery(this).html().match(/SharedFileBindMouseHover\( "(.*?)", true, (.*?) \);/); if(guidematch){ var guidedetail = JSON.parse(guidematch[2].replace(/(\r\n|\n|\r)/gm,"")); guideList.push(guidedetail.id); subscribedList[guidedetail.id] = guidedetail.user_subscribed; } }); var i = 0, loaded = 0, package = 0, total = guideList.length, modal = ShowBlockingWaitDialog( 'Executing…', 'Please wait until all requests finish. Ignore all the errors, let it finish.' ); for( ; i < total; i++ ) { guideid = guideList[ i ]; //function below doesn't work because steam doesn't support it yet //if( subscribedList[ guideid ] ) //{ // loaded++; // continue; //} if(subscribe){ var subscribeurl = '//steamcommunity.com/sharedfiles/subscribe'; }else{ var subscribeurl = '//steamcommunity.com/sharedfiles/unsubscribe'; } jQuery.post(subscribeurl, { appid: 570, id: guideid, sessionid: g_sessionID } ).always( function( ) { loaded++; modal.Dismiss(); if( loaded >= total ) { if(d2wg_all){ if(d2wg_all !== 999999){ loaded = d2wg_all + loaded; } if(subscribe){ dota2workshopsubnext(loaded); }else{ dota2workshopsubnext(loaded,false); } }else{ ShowConfirmDialog( 'Success!', 'You have subsribed to ' + loaded + ' guides!').done(function(){location.reload();}); } } else { modal = ShowBlockingWaitDialog( 'Executing…', 'Loaded <b>' + loaded + '</b>/' + total + '.' ); } } ); } } (function() { if(location.search.split('d2wg_all=')[1]){ dota2workshopsubnow(parseInt(location.search.split('d2wg_all=')[1])); }else if(location.search.split('d2wg_un=')[1]){ dota2workshopsubnow(parseInt(location.search.split('d2wg_un=')[1]),false); } jQuery('.followStatsBlock').append('<a href="javascript:void(0);" id="dota2workshopsuball" class="btn_darkblue_white_innerfade btn_medium"><span>Subscribe all on this page</span></a>'); document.getElementById('dota2workshopsuball').addEventListener('click', dota2workshopsubnow, false); jQuery('.followStatsBlock').append('<br><br><a href="javascript:void(0);" id="dota2workshopsuballnuke" class="btn_darkblue_white_innerfade btn_medium"><span>Subscribe all from this person</span></a>'); document.getElementById('dota2workshopsuballnuke').addEventListener('click', dota2workshopsubnownuke, false); jQuery('.followStatsBlock').append('<br><br><a href="javascript:void(0);" id="dota2workshopunsuball" class="btn_darkblue_white_innerfade btn_medium"><span>Unsubscribe all on this page</span></a>'); document.getElementById('dota2workshopunsuball').addEventListener('click', dota2workshopunsubnow, false); jQuery('.followStatsBlock').append('<br><br><a href="javascript:void(0);" id="dota2workshopunsuballnuke" class="btn_darkblue_white_innerfade btn_medium"><span>Unsubscribe all from this person</span></a>'); document.getElementById('dota2workshopunsuballnuke').addEventListener('click', dota2workshopunsubnownuke, false); }());
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址