新增 [文件右键显示菜单] 功能(不用费劲去点小小的 [...] 按钮了!)

This commit is contained in:
xiu2
2021-01-03 17:31:26 +08:00
parent b7613e0e1f
commit 4327c15dd2
+64 -8
View File
@@ -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;