您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Submit wiki and non-wiki forms together
// ==UserScript== // @name GGn Submit Both Edit Forms // @version 2 // @description Submit wiki and non-wiki forms together // @author ingts // @match https://gazellegames.net/torrents.php?action=editgroup&groupid=* // @namespace https://greasyfork.org/users/1141417 // ==/UserScript== /** @type {HTMLFormElement[]} */ const formElements = [...document.querySelectorAll('#content form[action="torrents.php"]')] formElements.length = 2 if (formElements[1]) { for (const formElement of formElements) { button(formElement.querySelector('input[type=submit]')) } } function button(insert) { const input = document.createElement('input') input.type = 'button' input.value = 'Submit Both' input.style.marginLeft = '5px' insert.insertAdjacentElement('afterend', input) input.onclick = async () => { if (!formElements[0].reportValidity() || !formElements[1].reportValidity()) return input.disabled = true const formDatas = [new FormData(formElements[0]), new FormData(formElements[1])] const fetches = formDatas.map((fd, index) => { fetch('torrents.php', { method: 'POST', body: fd, }).then(r => { if (!(r.ok && r.redirected)) { console.error(r) input.disabled = false alert(`Failed to submit ${index === 0 ? 'wiki' : 'non-wiki'} form`) throw new Error() } }) }) Promise.all(fetches).then(() => { setTimeout(() => { location.href = `https://gazellegames.net/torrents.php?id=${/\d+/.exec(location.href)[0]}` }, 500) }) } }