diff --git a/Lanzou-Enhanced.user.js b/Lanzou-Enhanced.user.js index fc04413..015def4 100644 --- a/Lanzou-Enhanced.user.js +++ b/Lanzou-Enhanced.user.js @@ -1,8 +1,8 @@ // ==UserScript== // @name 蓝奏云网盘增强 -// @version 1.0.7 +// @version 1.1.0 // @author X.I.U -// @description 刷新不返回根目录、自动显示更多文件、自动打开分享链接、自动复制分享链接 +// @description 刷新不返回根目录、文件右键显示菜单、自动显示更多文件、自动打开分享链接、自动复制分享链接 // @match *://*.lanzous.com/* // @match *://*.lanzoux.com/* // @match *://*.lanzoui.com/* @@ -26,35 +26,41 @@ // @namespace https://github.com/XIU2/UserScript // ==/UserScript== (function() { - var menu_open_fileSha = GM_getValue('xiu2_menu_open_fileSha'); - var menu_copy_fileSha = GM_getValue('xiu2_menu_copy_fileSha'); - var menu_refreshCorrection = GM_getValue('xiu2_menu_refreshCorrection'); - var menu_open_fileSha_ID, menu_copy_fileSha_ID, menu_refreshCorrection_ID, menu_feedBack_ID; + var menu_open_fileSha = GM_getValue('xiu2_menu_open_fileSha'), + menu_copy_fileSha = GM_getValue('xiu2_menu_copy_fileSha'), + menu_refreshCorrection = GM_getValue('xiu2_menu_refreshCorrection'), + menu_rightClickMenu = GM_getValue('xiu2_menu_rightClickMenu'); + var menu_open_fileSha_ID, menu_copy_fileSha_ID, menu_refreshCorrection_ID, menu_rightClickMenu_ID, menu_feedBack_ID; if (menu_open_fileSha == null){menu_open_fileSha = true; GM_setValue('xiu2_menu_open_fileSha', menu_open_fileSha)}; if (menu_copy_fileSha == null){menu_copy_fileSha = true; GM_setValue('xiu2_menu_copy_fileSha', menu_copy_fileSha)}; if (menu_refreshCorrection == null){menu_refreshCorrection = true; GM_setValue('xiu2_menu_refreshCorrection', menu_refreshCorrection)}; + if (menu_rightClickMenu == null){menu_rightClickMenu = true; GM_setValue('xiu2_menu_rightClickMenu', menu_rightClickMenu)}; registerMenuCommand(); // 注册脚本菜单 function registerMenuCommand() { - var menu_open_fileSha_, menu_copy_fileSha_, menu_refreshCorrection_; + var menu_open_fileSha_, menu_copy_fileSha_, menu_refreshCorrection_, menu_rightClickMenu_; if (menu_feedBack_ID){ // 如果反馈菜单ID不是 null,则删除所有脚本菜单 GM_unregisterMenuCommand(menu_open_fileSha_ID); GM_unregisterMenuCommand(menu_copy_fileSha_ID); - GM_unregisterMenuCommand(menu_copy_fileSha_ID); GM_unregisterMenuCommand(menu_refreshCorrection_ID); + GM_unregisterMenuCommand(menu_rightClickMenu_ID); + GM_unregisterMenuCommand(menu_feedBack_ID); menu_open_fileSha = GM_getValue('xiu2_menu_open_fileSha'); menu_copy_fileSha = GM_getValue('xiu2_menu_copy_fileSha'); menu_refreshCorrection = GM_getValue('xiu2_menu_refreshCorrection'); + menu_rightClickMenu = GM_getValue('xiu2_menu_rightClickMenu'); } if (menu_open_fileSha){menu_open_fileSha_ = "√";}else{menu_open_fileSha_ = "×";} if (menu_copy_fileSha){menu_copy_fileSha_ = "√";}else{menu_copy_fileSha_ = "×";} if (menu_refreshCorrection){menu_refreshCorrection_ = "√";}else{menu_refreshCorrection_ = "×";} + if (menu_rightClickMenu){menu_rightClickMenu_ = "√";}else{menu_rightClickMenu_ = "×";} menu_open_fileSha_ID = GM_registerMenuCommand(`[ ${menu_open_fileSha_} ] 自动打开分享链接`, function(){menu_switch(menu_open_fileSha,'xiu2_menu_open_fileSha','自动打开分享链接', true)}); menu_copy_fileSha_ID = GM_registerMenuCommand(`[ ${menu_copy_fileSha_} ] 自动复制分享链接`, function(){menu_switch(menu_copy_fileSha,'xiu2_menu_copy_fileSha','自动复制分享链接', true)}); menu_refreshCorrection_ID = GM_registerMenuCommand(`[ ${menu_refreshCorrection_} ] 刷新不返回根目录`, function(){if(menu_refreshCorrection){UNrefreshCorrection();}else{refreshCorrection();};menu_switch(menu_refreshCorrection,'xiu2_menu_refreshCorrection','刷新不返回根目录', false)}); + menu_rightClickMenu_ID = GM_registerMenuCommand(`[ ${menu_rightClickMenu_} ] 文件右键显示菜单`, function(){menu_switch(menu_rightClickMenu,'xiu2_menu_rightClickMenu','文件右键显示菜单', true)}); menu_feedBack_ID = GM_registerMenuCommand('反馈 & 建议', function () {window.GM_openInTab('https://github.com/XIU2/UserScript#xiu2userscript', {active: true,insert: true,setParent: true});}); } @@ -134,6 +140,55 @@ } + // 文件右键显示菜单 + function rightClickMenu() { + if(menu_rightClickMenu){ // 脚本菜单开启时才继续 + var folder_list = mainframe.document.getElementById("sub_folder_list"); + if(folder_list){ // 文件夹列表 + folder_list.oncontextmenu = function(e){ + e.preventDefault(); // 屏蔽浏览器自身右键菜单 + let folder_list_ID = e.target.id; + //console.log(e.target.nodeName) + //console.log(e.target.className) + //console.log(e.target.id) + if(e.target.nodeName == "FONT") + { + folder_list_ID = e.target.parentNode.parentNode.id + }else if(e.target.id == ""){ + folder_list_ID = e.target.parentNode.id + } + folder_list_ID = /\d+/.exec(folder_list_ID) + if(folder_list_ID.length > 0){ + mainframe.document.getElementById("folse" + folder_list_ID[0]).focus(); + mainframe.document.getElementById("folse" + folder_list_ID[0]).click(); + } + } + } + var file_list = mainframe.document.getElementById("filelist"); + if(file_list){ // 文件列表 + file_list.oncontextmenu = function(e){ + e.preventDefault(); // 屏蔽浏览器自身右键菜单 + let file_list_ID = e.target.id; + //console.log(e.target.nodeName) + //console.log(e.target.className) + //console.log(e.target.id) + if(e.target.nodeName == "FONT") + { + file_list_ID = e.target.parentNode.parentNode.id + }else if(e.target.id == ""){ + file_list_ID = e.target.parentNode.id + } + file_list_ID = /\d+/.exec(file_list_ID) + if(file_list_ID.length > 0){ + mainframe.document.getElementById("fse" + file_list_ID[0]).focus(); + mainframe.document.getElementById("fse" + file_list_ID[0]).click(); + } + } + } + } + } + + // 自动显示更多文件 function fileMore() { let filemore = mainframe.document.getElementById("filemore"); // 寻找 [显示更多文件] 按钮 @@ -216,6 +271,7 @@ function sendReplacement(data) { setTimeout(fileMore, 200); // 自动显示更多文件 setTimeout(fileSha, 200); // 自动打开分享链接(点击文件时) + setTimeout(rightClickMenu, 500); // 右键菜单 return _send.apply(this, arguments); } mainframe.XMLHttpRequest.prototype.send = sendReplacement;