|
1 | 1 | // ==UserScript== |
2 | 2 | // @name 蓝奏云网盘增强 |
3 | | -// @version 1.3.2 |
| 3 | +// @version 1.3.3 |
4 | 4 | // @author X.I.U |
5 | | -// @description 刷新不回根目录、后退返回上一级、右键文件显示菜单、自动显示更多文件、自动打开分享链接、自动复制分享链接、带密码的分享链接自动输密码、拖入文件自动显示上传框、输入密码后回车确认、调整描述(话说)编辑框初始大小 |
| 5 | +// @description 刷新不回根目录、后退返回上一级、右键文件显示菜单、自动显示更多文件、自定义分享链接域名、自动打开/复制分享链接、带密码的分享链接自动输密码、拖入文件自动显示上传框、输入密码后回车确认、调整描述(话说)编辑框初始大小 |
6 | 6 | // @match *://*.lanzous.com/* |
7 | 7 | // @match *://*.lanzoux.com/* |
8 | 8 | // @match *://*.lanzoui.com/* |
|
35 | 35 | (function() { |
36 | 36 | 'use strict'; |
37 | 37 | var menu_ALL = [ |
| 38 | + ['menu_customFileSha', '自定义分享链接域名', '自定义分享链接域名', ''], |
38 | 39 | ['menu_open_fileSha', '自动打开分享链接', '自动打开分享链接', true], |
39 | 40 | ['menu_copy_fileSha', '自动复制分享链接', '自动复制分享链接', true], |
40 | 41 | ['menu_refreshCorrection', '刷新不返回根目录', '刷新不返回根目录', true], |
|
57 | 58 | menu_ALL[i][3] = GM_getValue(menu_ALL[i][0]); |
58 | 59 | if (menu_ALL[i][0] == 'menu_refreshCorrection') { |
59 | 60 | 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()}); |
60 | 63 | } else { |
61 | 64 | 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]}`)}); |
62 | 65 | } |
|
120 | 123 | mainframe = document.getElementById('mainframe'); |
121 | 124 | if (mainframe) { // 只有找到 iframe 框架时才会继续运行脚本 |
122 | 125 | 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); // 隐藏分享链接窗口(这样自动打开/复制分享链接时,不会一闪而过) |
128 | 129 | fobiddenBack(); // 禁止浏览器返回(并绑定新的返回事件) |
129 | 130 | EventXMLHttpRequest(); // 监听 XMLHttpRequest 事件并执行 [自动显示更多文件] |
130 | 131 |
|
|
191 | 192 |
|
192 | 193 | // 右键文件显示菜单 |
193 | 194 | 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') // 文件 |
198 | 198 | } |
199 | 199 |
|
200 | 200 |
|
|
270 | 270 |
|
271 | 271 | // 调整话说编辑框初始大小 |
272 | 272 | 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;' |
286 | 285 | } |
287 | 286 | } |
288 | 287 |
|
|
301 | 300 | mainframe.addEventListener('drop', function (e) { |
302 | 301 | e.preventDefault(); |
303 | 302 | //e.stopPropagation(); |
304 | | - //console.log('111111') |
305 | 303 | //console.log(e.dataTransfer.files) |
306 | 304 | }); |
307 | 305 | } |
308 | 306 |
|
309 | 307 |
|
310 | 308 | // 分享链接相关(点击文件时) |
311 | 309 | 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});} |
329 | 320 | } |
330 | 321 | } |
331 | 322 | } |
332 | 323 |
|
333 | 324 |
|
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(); // 重新注册脚本菜单 |
342 | 334 | } |
343 | 335 | } |
344 | 336 |
|
|
0 commit comments