您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Copy specified user's wishlist to your wishlist.
// ==UserScript== // @name Steam Wishlist Copy // @namespace https://coding.net/u/sffxzzp // @version 0.10 // @description Copy specified user's wishlist to your wishlist. // @author sffxzzp // @match *://store.steampowered.com/wishlist/* // @icon https://store.steampowered.com/favicon.ico // ==/UserScript== (function() { var util = (function () { function util() {} util.createElement = function (data) { var node; if (data.node) { node = document.createElement(data.node); if (data.content) { this.setElement({node: node, content: data.content}); } if (data.html) { node.innerHTML = data.html; } } return node; }; util.setElement = function (data) { if (data.node) { for (let name in data.content) { data.node.setAttribute(name, data.content[name]); } if (data.html!=undefined) { data.node.innerHTML = data.html; } } }; return util; })(); var swcopy = (function () { function swcopy() {}; swcopy.prototype.addToWishlist = function (appid) { return new Promise((resolve, reject) => { var xhr = new XMLHttpRequest(); xhr.open("post", 'https://store.steampowered.com/api/addtowishlist', true); xhr.setRequestHeader("content-type", "application/x-www-form-urlencoded"); xhr.responseType = ""; xhr.timeout = 3e4; xhr.onload = function(ev) { var evt = ev.target; resolve(evt.response); }; xhr.onerror = reject; xhr.ontimeout = reject; xhr.send(`sessionid=${unsafeWindow.g_sessionID}&appid=${appid}`); }); }; swcopy.prototype.run = function () { var _this = this; var searchBar = document.getElementsByClassName('controls')[0]; var swcButton = util.createElement({node: "div", content: {class: "filter_tab settings_tab"}, html: "添加全部到愿望单"}); swcButton.onclick = async function () { if (confirm("确定全部添加到愿望单?\n可能会有不可预料的后果。\n确定后请耐心等待。\n完成后会有弹窗提示。")) { for (var i=0;i<unsafeWindow.g_rgWishlistData.length;i++) { await _this.addToWishlist(unsafeWindow.g_rgWishlistData[i].appid); } alert("导入完成!"); } } searchBar.appendChild(swcButton); }; return swcopy })(); (new swcopy()).run(); })();