您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
添加一个 “解压到当前文件夹”按钮,使解压文件夹默认为当前文件夹
// ==UserScript== // @name 115 解压到当前文件夹 // @namespace https://greasyfork.org/zh-CN/users/309232-3989364 // @version 2025-08-15 // @description 添加一个 “解压到当前文件夹”按钮,使解压文件夹默认为当前文件夹 // @author ctrn43062 // @match https://115.com/* // @icon https://www.google.com/s2/favicons?sz=64&domain=115.com // @grant none // @license MIT // ==/UserScript== const storage = { KEY: 'SEL_F_DIR', DEFAULT_VALUE: undefined, set(value){ if(this.DEFAULT_VALUE == undefined) { this.DEFAULT_VALUE = value } localStorage.setItem(this.KEY, value) }, get() { return localStorage.getItem(this.KEY) || '1|' }, restore() { this.set(this.DEFAULT_VALUE) } } /** * 修改 localStorage 以设置当前文件夹 */ const setCurrentDir = () => { const oldDir = storage.get() const curDirCid = new URLSearchParams(location.search).get('cid') if(!curDirCid) { alert('无法找到当前文件夹 cid') return } const [first, second] = oldDir.split('|') storage.set(`${first}|${curDirCid}`) console.info('Set current cid:', curDirCid) } /** * 添加 “解压到当前文件夹按钮” */ const initUnzipToCurrentDirButton = () => { const actionWrap = document.querySelector('.unzip-file-wrap + .dialog-action') const unzipBtn = actionWrap.querySelector('.dgac-confirm') if(!unzipBtn) { throw new Error('无法找到解压按钮') } const unzipCurDirBtn = unzipBtn.cloneNode() actionWrap.insertBefore(unzipCurDirBtn, unzipBtn) unzipCurDirBtn.innerText = '解压到当前文件夹' unzipCurDirBtn.addEventListener('click', () => { setCurrentDir() unzipBtn.click() // 恢复修改前的值 setTimeout(() => { // storage.restore() }, 3000) }) } (function() { 'use strict'; // 监听解压文件夹对话框显示 const observer = new MutationObserver((record) => { for(const { target } of record) { if (target.classList.contains('file-path')) { initUnzipToCurrentDirButton() } } }) observer.observe(document.body, { childList: true, subtree: true }) console.info('115 解压到当前文件夹初始化完成') })();