Skip to content

Commit 83499ae

Browse files
committed
新增 [自定义分享链接域名] 功能; 优化 [自动打开/复制分享链接] 代码
1 parent 3cf6d3b commit 83499ae

1 file changed

Lines changed: 42 additions & 50 deletions

File tree

Lanzou-Enhanced.user.js

Lines changed: 42 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
// ==UserScript==
22
// @name 蓝奏云网盘增强
3-
// @version 1.3.2
3+
// @version 1.3.3
44
// @author X.I.U
5-
// @description 刷新不回根目录、后退返回上一级、右键文件显示菜单、自动显示更多文件、自动打开分享链接、自动复制分享链接、带密码的分享链接自动输密码、拖入文件自动显示上传框、输入密码后回车确认、调整描述(话说)编辑框初始大小
5+
// @description 刷新不回根目录、后退返回上一级、右键文件显示菜单、自动显示更多文件、自定义分享链接域名、自动打开/复制分享链接、带密码的分享链接自动输密码、拖入文件自动显示上传框、输入密码后回车确认、调整描述(话说)编辑框初始大小
66
// @match *://*.lanzous.com/*
77
// @match *://*.lanzoux.com/*
88
// @match *://*.lanzoui.com/*
@@ -35,6 +35,7 @@
3535
(function() {
3636
'use strict';
3737
var menu_ALL = [
38+
['menu_customFileSha', '自定义分享链接域名', '自定义分享链接域名', ''],
3839
['menu_open_fileSha', '自动打开分享链接', '自动打开分享链接', true],
3940
['menu_copy_fileSha', '自动复制分享链接', '自动复制分享链接', true],
4041
['menu_refreshCorrection', '刷新不返回根目录', '刷新不返回根目录', true],
@@ -57,6 +58,8 @@
5758
menu_ALL[i][3] = GM_getValue(menu_ALL[i][0]);
5859
if (menu_ALL[i][0] == 'menu_refreshCorrection') {
5960
menu_ID[i] = GM_registerMenuCommand(`${menu_ALL[i][3]?'✅':'❌'} ${menu_ALL[i][1]}`, function(){if(menu_value('menu_refreshCorrection')){UNrefreshCorrection();}else{refreshCorrection();};menu_switch(`${menu_ALL[i][3]}`,`${menu_ALL[i][0]}`,`${menu_ALL[i][2]}`)});
61+
} else if (menu_ALL[i][0] === 'menu_customFileSha') {
62+
menu_ID[i] = GM_registerMenuCommand(`#️⃣ ${menu_ALL[i][1]}`, function(){customFileSha()});
6063
} else {
6164
menu_ID[i] = GM_registerMenuCommand(`${menu_ALL[i][3]?'✅':'❌'} ${menu_ALL[i][1]}`, function(){menu_switch(`${menu_ALL[i][3]}`,`${menu_ALL[i][0]}`,`${menu_ALL[i][2]}`)});
6265
}
@@ -120,11 +123,9 @@
120123
mainframe = document.getElementById('mainframe');
121124
if (mainframe) { // 只有找到 iframe 框架时才会继续运行脚本
122125
mainframe = mainframe.contentWindow;
123-
if(menu_value('menu_refreshCorrection')){
124-
refreshCorrection(); // 刷新不返回根目录(F5)
125-
}
126-
setTimeout(folderDescdes, 200); // 调整话说编辑框初始大小
127-
setTimeout(hideSha, 200); // 隐藏分享链接窗口(这样自动打开/复制分享链接时,不会一闪而过)
126+
if (menu_value('menu_refreshCorrection')) refreshCorrection(); // 刷新不返回根目录(F5)
127+
setTimeout(folderDescdes, 500); // 调整话说编辑框初始大小
128+
setTimeout(hideSha, 500); // 隐藏分享链接窗口(这样自动打开/复制分享链接时,不会一闪而过)
128129
fobiddenBack(); // 禁止浏览器返回(并绑定新的返回事件)
129130
EventXMLHttpRequest(); // 监听 XMLHttpRequest 事件并执行 [自动显示更多文件]
130131

@@ -191,10 +192,9 @@
191192

192193
// 右键文件显示菜单
193194
function rightClickMenu() {
194-
if (menu_value('menu_rightClickMenu')) { // 脚本菜单开启时才继续
195-
rightClickMenu_('sub_folder_list', 'fols', 'folse') // 文件夹
196-
rightClickMenu_('filelist', 'fs', 'fse') // 文件
197-
}
195+
if (!menu_value('menu_rightClickMenu')) return
196+
rightClickMenu_('sub_folder_list', 'fols', 'folse') // 文件夹
197+
rightClickMenu_('filelist', 'fs', 'fse') // 文件
198198
}
199199

200200

@@ -270,19 +270,18 @@
270270

271271
// 调整话说编辑框初始大小
272272
function folderDescdes() {
273-
if (menu_value('menu_folderDescdesMenu')) {
274-
let folderdescdes = mainframe.document.getElementById('folder_descdes'); // 寻找话说(描述)编辑框
275-
if (folderdescdes) { // 判断话说(描述)元素是否存在
276-
folderdescdes.style.cssText='margin: 15px 0px; width: 550px; height: 125px;'
277-
}
278-
let folderdescdes2 = mainframe.document.getElementById('fol_credes'); // 寻找话说(描述)编辑框
279-
if (folderdescdes2) { // 判断话说(描述)元素是否存在
280-
folderdescdes2.style.cssText='margin: 15px 0px; width: 550px; height: 125px;'
281-
}
282-
let folderdescdes3 = mainframe.document.getElementById('file_desc'); // 寻找话说(描述)编辑框
283-
if (folderdescdes3) { // 判断话说(描述)元素是否存在
284-
folderdescdes3.style.cssText='margin: 15px 0px; width: 550px; height: 125px;'
285-
}
273+
if (!menu_value('menu_folderDescdesMenu')) return
274+
let folderdescdes = mainframe.document.getElementById('folder_descdes'); // 寻找话说(描述)编辑框
275+
if (folderdescdes) { // 判断话说(描述)元素是否存在
276+
folderdescdes.style.cssText='margin: 15px 0px; width: 550px; height: 125px;'
277+
}
278+
let folderdescdes2 = mainframe.document.getElementById('fol_credes'); // 寻找话说(描述)编辑框
279+
if (folderdescdes2) { // 判断话说(描述)元素是否存在
280+
folderdescdes2.style.cssText='margin: 15px 0px; width: 550px; height: 125px;'
281+
}
282+
let folderdescdes3 = mainframe.document.getElementById('file_desc'); // 寻找话说(描述)编辑框
283+
if (folderdescdes3) { // 判断话说(描述)元素是否存在
284+
folderdescdes3.style.cssText='margin: 15px 0px; width: 550px; height: 125px;'
286285
}
287286
}
288287

@@ -301,44 +300,37 @@
301300
mainframe.addEventListener('drop', function (e) {
302301
e.preventDefault();
303302
//e.stopPropagation();
304-
//console.log('111111')
305303
//console.log(e.dataTransfer.files)
306304
});
307305
}
308306

309307

310308
// 分享链接相关(点击文件时)
311309
function fileSha() {
312-
var f_sha = mainframe.document.getElementById('f_sha'); // 寻找分享链接(下载链接)信息框
313-
if (f_sha && f_sha.style.display === 'block') { // 判断信息框是否存在且可见
314-
fileSha_Open(); // 自动打开分享链接(点击文件时)
315-
fileSha_Copy(); // 自动复制分享链接(点击文件时)
316-
if (menu_value('menu_open_fileSha') || menu_value('menu_copy_fileSha')) {
317-
f_sha.style.display = 'none'; // 隐藏分享链接(下载链接)信息框
318-
}
319-
}
320-
}
321-
322-
323-
// 自动打开分享链接(点击文件时/右键菜单 - [打开分享连接])
324-
function fileSha_Open() {
325-
if (menu_value('menu_open_fileSha')) { // 脚本菜单开启时才继续
326-
let code = mainframe.document.getElementById('code'); // 获取分享链接(下载链接)
327-
if (code && code.title != '') { // 确保分享链接(下载链接)不是空
328-
window.GM_openInTab(code.title, {active: true,insert: true,setParent: true}) // 打开分享链接(下载链接)
310+
var f_sha = mainframe.document.getElementById('f_sha'); // 寻找分享链接(下载链接)信息框
311+
if (f_sha && f_sha.style.display === 'block') { // 判断信息框是否存在且可见
312+
let f_sha1 = mainframe.document.getElementById('f_sha1'); // 获取分享链接(下载链接)
313+
if (f_sha1 && f_sha1.textContent != '') { // 确保分享链接(下载链接)不是空
314+
// 自定义分享链接域名
315+
if (menu_value('menu_customFileSha')) {f_sha1.innerText = f_sha1.innerText.replace(/\/\/.+\//i, '//' + menu_value('menu_customFileSha') + '/');}
316+
// 打开分享链接
317+
if (menu_value('menu_open_fileSha')) {f_sha.style.display = 'none';GM_openInTab(f_sha1.textContent, {active: true,insert: true,setParent: true});}
318+
// 复制分享链接(并已复制的提示信息)
319+
if (menu_value('menu_copy_fileSha')) {f_sha.style.display = 'none';GM_setClipboard(f_sha1.textContent, 'text');GM_notification({text: '已复制分享链接~', timeout: 2000});}
329320
}
330321
}
331322
}
332323

333324

334-
// 自动复制分享链接(点击文件时/右键菜单 - [复制分享连接])
335-
function fileSha_Copy() {
336-
if (menu_value('menu_copy_fileSha')) { // 脚本菜单开启时才继续
337-
let f_sha1 = mainframe.document.getElementById('f_sha1'); // 获取分享链接(下载链接)
338-
if (f_sha1 && f_sha1.textContent != '') { // 确保分享链接(下载链接)不是空
339-
GM_setClipboard(f_sha1.textContent, 'text'); // 复制到剪切板
340-
GM_notification({text: '已复制分享链接~', timeout: 2000}); // 已复制提示
341-
}
325+
// 自定义分享链接域名
326+
function customFileSha() {
327+
let newDomain = prompt('请输入 [自定义分享链接域名],点击确定后立即生效\n蓝奏云分享链接末尾的 ID 是唯一的,而前面的域名用谁的都一样\n示例:pan.lanzoui.com 或 wwe.lanzoui.com 或 xiu.lanzoui.com', GM_getValue('menu_customFileSha'));
328+
if (newDomain === '') {
329+
GM_setValue('menu_customFileSha', '');
330+
registerMenuCommand(); // 重新注册脚本菜单
331+
} else if (newDomain != null) {
332+
GM_setValue('menu_customFileSha', newDomain);
333+
registerMenuCommand(); // 重新注册脚本菜单
342334
}
343335
}
344336

0 commit comments

Comments
 (0)