您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Adds a button to download the script
当前为
// ==UserScript== // @name Download Button for GreasyFork scripts // @version 1.2 // @author Rust1667 // @description Adds a button to download the script // @match https://gf.zukizuki.org/*/scripts/* // @match https://sleazyfork.org/*/scripts/* // @grant none // @icon https://www.google.com/s2/favicons?sz=64&domain=gf.zukizuki.org // @namespace https://gf.zukizuki.org/users/980489 // ==/UserScript== (function() { 'use strict'; // Find the install link element var installLink = document.querySelector('#install-area .install-link'); // Determine the file name const installURLlink = installLink.getAttribute('href'); function getFilenameFromUrl() { const url = installURLlink; var lastSlashIndex = url.lastIndexOf('/'); var filenameWithExtension = url.substring(lastSlashIndex + 1); var decodedFilename = filenameWithExtension.replace(/%20/g, '_'); return decodedFilename; } // Create a download button var downloadButton = document.createElement('button'); downloadButton.textContent = 'Download Script'; downloadButton.style.marginLeft = '10px'; // Add click event listener to the download button downloadButton.addEventListener('click', function() { var scriptUrl = installLink.getAttribute('href'); downloadFile(scriptUrl); }); // Insert the download button after the install link installLink.parentNode.insertBefore(downloadButton, installLink.nextSibling); function downloadFile(url) { var xhr = new XMLHttpRequest(); xhr.open('GET', url, true); xhr.responseType = 'blob'; xhr.onload = function() { if (xhr.status === 200) { var blob = xhr.response; var url = window.URL.createObjectURL(blob); var a = document.createElement('a'); a.href = url; a.download = getFilenameFromUrl(); document.body.appendChild(a); a.click(); window.URL.revokeObjectURL(url); } }; xhr.send(); } })();