简述

鼠标选中蓝奏云链接时会将链接转化为有效链接并显示跳转按钮,如果选中内容包括提取码则会在对应的网页自动填充。
地址:鼠标选中跳转蓝奏云有效链接及自动填写提取码

功能

在鼠标选中的文字是蓝奏云链接时触发脚本,脚本将从选中文字中提取蓝奏云链接及密码,并且将链接转化为以lanzoui.com为顶级域名地址,然后在鼠标附近显示实时信息,同时也显示一个跳转链接 前往-> 及一个关闭显示信息的按钮。在点下前往-> 后自动关闭选中文本页面的显示信息,同时打开一个地址是对应链接的新窗口,如果之前选中的内容包含密码,则会自动填充并确认密码。同时当前页面对应的蓝奏云资源的密码也会保留在本地,当你下次再打开这个链接时会自动填充密码(前提是保存的数据没有被清除,注意这个密码不是像Chrome之类浏览器的保存密码的形式,所以你不会在浏览器管理面板找到密码)

使用

随便选择一个不包含蓝奏云链接的内容(识别条件是含有lanzou)时的效果如下图所示:

选中一个蓝奏云链接但不包含密码的内容时的效果如下图所示:

选中一个蓝奏云链接并包含密码的内容时的效果如下图所示:

在第一次自动填充密码后再次打开该页面时的效果如下图所示(太快了可能看不清):

0.1.0 版本源码

// ==UserScript==
// @name         鼠标选中跳转蓝奏云有效链接及自动填写提取码
// @namespace    https://coycs.com/
// @version      0.1.0
// @description  鼠标选中蓝奏云链接时会将链接转化为有效链接并显示跳转按钮,如果选中内容包括提取码则会在对应的网页自动填充。
// @author       coycs
// @match        http://*/*
// @match        https://*/*
// @match       *.lanzoui.com/*
// @grant        none
// @license MIT
// ==/UserScript==(function () {'use strict'// 获取鼠标位置var movex;var movey;function mousemove(e) {e = e || window.event;if (e.clientX || e.clientY) {movex = e.clientX;movey = e.clientY}}document.onmousemove = mousemove;// 展示有效链接及提取码function show(href, password) {var relay = "";if (password != "") {relay = href + "coycs" + password + "coycs";} else {relay = href;}if (!document.getElementsByClassName("popWindow")[0]) {// 创建节点var div = document.createElement('div');div.setAttribute("style", "background:linear-gradient(#00b09b, #96c93d);position:fixed;padding:20px;z-index:10000;");div.setAttribute("class", "popWindow");div.setAttribute("color", "#fff");div.style.left = movex + 30 + "px";div.style.top = movey + 30 + "px";document.getElementsByTagName("body")[0].appendChild(div);div.innerHTML = `<p padding="5px"  margin-bottom="5px">链接:<span id="hrefText">${href}</span></p><p padding="5px" id="nodePassword" margin-bottom="5px">提取码:<span id="passwordText">${password}</span></p><p id="actionBtns"><a id="hrefBtn" href="${relay}" target="_blank" padding="5px">前往-></a><button id="closeBtn" padding="5px">关闭</button></p>`;var actionBtns = document.getElementById("actionBtns");actionBtns.setAttribute("style", "display: flex;flex-direction: row;justify-content: space-between;");// 前往按钮var hrefBtn = document.getElementById("hrefBtn");hrefBtn.addEventListener("click", function () {window.getSelection().removeAllRanges();document.getElementsByClassName("popWindow")[0].remove();})// 关闭按钮var closeBtn = document.getElementById("closeBtn");closeBtn.setAttribute("style", "background-color:#96c93d;border-style:none;")closeBtn.addEventListener("click", function () {window.getSelection().removeAllRanges();document.getElementsByClassName("popWindow")[0].remove();})} else {var hrefText = document.getElementById("hrefText");var passwordText = document.getElementById("passwordText");hrefBtn = document.getElementById("hrefBtn");hrefText.innerHTML = href;passwordText.innerHTML = password;hrefBtn.setAttribute("href", `${relay}`);}}// 选取文字触发var select = function () {if (window.getSelection && window.getSelection().toString().indexOf("lanzou") != -1) {// 字符串初处理var string1 = window.getSelection().toString();console.log("string1:" + string1);var string2 = string1.substring(string1.indexOf("http"), string1.length).replace(/\s*/g, "");console.log("string2:" + string2);// 获取链接部分var href = "";if (string2.match(/[^\x00-\xff]/g)) {href = string2.substring(0, string2.indexOf(string2.match(/[^\x00-\xff]/g)[0]));} else {href = string2;}var string3 = href;console.log("href:" + href);var domin = href.split("/")[2].split('.').slice(-2).join('.');var dominR = "lanzoui.com";href = href.replace(domin, dominR).replace(/[\x22\x27-\x29\x2c\x3b\x5b-\x5e\x60\x7b-\x7f]/g, "");console.log("href:" + href);// 获取提取码部分var password = string2.replace(string3, "").replace(/[^\x00-\xff]/g, "").replace(":", "");console.log("password:" + password);show(href, password);}}// 选中链接及提取码部分document.addEventListener("mouseup", select);// 自动填写提取码部分// 获取网页链接var url = document.location.href;var urlDomin = url.split("/")[2].split('.').slice(-2).join('.');// 定义目标网站var urlDominR = "lanzoui.com"// 跳转到顶级域名为目标网站的页面if (urlDomin == "lanzous.com"||urlDomin == "lanzouw.com"||urlDomin == "lanzoux.com") {location.href = url.replace(url.split("/")[2].split('.').slice(-2).join('.'), urlDominR);}// 自动填写提取码if (url.indexOf(urlDominR) != -1) {var pwd = document.getElementById("pwd");if (url.indexOf("coycs") != url.lastIndexOf("coycs")) {var link = url.substring(0, url.indexOf("coycs"));var psw = url.substring(url.indexOf("coycs") + 5, url.lastIndexOf("coycs"));localStorage.setItem(link, psw);window.location.href = link;}if (pwd) {var passwddiv_btn = document.getElementsByClassName("passwddiv-btn")[0];var btnpwd = document.getElementsByClassName("btnpwd")[0];// 输入提取码pwd.value = localStorage.getItem(url);// 确认提取码if (passwddiv_btn) {passwddiv_btn.click();} else if (btnpwd) {btnpwd.click();}// localStorage.removeItem(url);}}
})();

注意

识别并提取蓝奏云链接是有一定条件的,因为蓝奏云链接不仅有自定义二级域名,顶级域名还有好几个,还有的是http或者是https,所以比如链接开头不包含http的就识别不到,还有其他个别的情况也会识别错误。但我也考虑了比较多的情况了,所以正常使用应该没有太大问题,选中提取出的链接错误时可以再仔细地选择文本,建议只选择蓝奏云链接,不要把其他内容也选进来了。

还有是关于密码的问题,这个脚本识别密码能力也是有限的,但官方的格式应该没有什么问题,就是下面这种类型的:https://coycs.lanzouw.com/iq2kJxo2s8f 密码:biux,因为有的人会说密码、提取码、验证码等等,而且密码位置也五花八门,还有其他很多干扰项影响识别。如果你实在懒得自己输密码,可以组成官方格式,然后随便在哪个网页的哪个输入框内粘贴格式重组好的然后再用插件识别,比如输在百度搜索的搜索框里。这样下次打开对应蓝奏云资源的网页时就会自动填写密码。

【油猴脚本】鼠标选中跳转蓝奏云有效链接及自动填写提取码相关推荐

  1. 蓝奏云分享链接打不开修改host

    蓝奏云分享链接打不开修改host 蓝奏云链接打开 提示DNS_PROBE_FINISHED_NXDOMAIN 修改host文件 蓝奏云链接打开 提示DNS_PROBE_FINISHED_NXDOMAI ...

  2. php取网盘真实链接,【已解决】获取蓝奏云真实链接问题?

    Java写的: String html_url = "https://www.lanzous.com/i6cSsepn2aj"; Connection html_head = Js ...

  3. 蓝奏云分享链接打不开的问题解决

    改一下lanzou后面的后缀(字母i 改成x或其他字母)一般就可以了,这个适合任何蓝奏云分享链接打不开的问题解决 修改前:(打不开) https://xxxx.lanzoui.com/xxxxxx 修 ...

  4. 谷歌浏览器无法访问蓝奏云资源链接

    **前几天更新了下谷歌浏览器,发现不能访问了,在网上搜索了下得到几种解决办法: ** 1.https://www.lanzous.com/XXXXX 将www修改成pan 再将lanzous的s去掉 ...

  5. Python爬取蓝奏云直链(获取真实文件地址)

    最近在用蓝奏云,这款云盘无限速并且操作分享简单,自认为挺好的一个云盘,所以研究了如何通过蓝奏云分享链接获取文件最终地址.你可能问爬取直链有什么用,我说一下我的需求,我的服务器学生机带宽是1m,很小.我 ...

  6. 蓝奏云分享文件无法下载地址失效的解决办法

    由于蓝奏盘的分享地址经常失效和更改,导致我们分享的下载地址打不开,很多人不知道怎么回事,老是问我蓝奏云下载链接打不开怎么办,今天就给大家讲讲怎么解决这个问题. 解决办法: 如果你打开别人分享的蓝奏云提 ...

  7. 最新!使用Python爬取蓝奏云文件下载直链并下载,支持批量爬取,已封装为函数,可直接使用(含注释、库的使用解释)

    程序说明 本程序不借助第三方网站来获取蓝奏云直链,那样没意思,且程序流程已经过分块化处理(多函数),方便理解和阅读.程序使用了requests.re.lxml库,来请求.解析数据.具有一定学习价值,对 ...

  8. 解决蓝奏云的文件分享链接打不开的问题

    0.问题描述 经常上吾爱破解下载一些去广告的软件,某日发现家里电脑怎么都打不开蓝凑云的链接了,心急如焚啊,各种百度.Google均无果,最后只能瞎几把试了,没想到解决了 1.其他解决方案 重启路由器和 ...

  9. 【油猴脚本】改变网页代码块的字体样式/美化LeetCode代码文字显示(CSS;设置@font-face和font-family)

    美化网页的代码字体 脚本安装地址: 参考:改变网页代码块的字体样式 更新日志 V0.1 更新时间:2021年9月20日23:04:41 更新功能: 1.改变LeetCode.CSDN.博客园嵌入的代码 ...

最新文章

  1. 【SVN】1. SVN 安装部署
  2. R语言使用ggradar包可视化基本雷达图(radar chart、蜘蛛图spider plot)、可视化单个数据对象的雷达图
  3. 在无人驾驶汽车大规模应用以前,自动驾驶叉车已经逐步潜入制造业
  4. javax.websocket.DeploymentException: The path [webScoketServiceBaidu/{appID}] is not valid.
  5. 153是一个非常特殊的数,它等于它的每位数字的立方和
  6. Web应用程序体系结构– Spring MVC – AngularJs堆栈
  7. NCRE四级网络工程师考题详解----LRU与LFU的区别
  8. 熊猫直播凉了,直播大战厮杀后只剩遍地鸡毛! | 畅言
  9. Cocos2d-x-lua游戏两个场景互相切换MainScene01切换到MainScene02
  10. ASP.NET页面间的传值方法(2)
  11. Hbase 深度使用分析
  12. 史上最全IT技能学习大全公众号
  13. 【小米小爱老师4G网络尊享版使用总结】界面|设置|安装|输入_摘要频道_什么值得买...
  14. 简易理解设计模式之:组合模式——实现View中的树状结构
  15. 计算机项目管理缩写,项目管理-常用缩写word版
  16. 领英精灵使用手册,功能介绍
  17. 入门金融市场 名词解释
  18. mac修改终端字体样式和大小
  19. LED电性能IV扫描测试方案
  20. WebGL Babylon GlowLayer 解决自发光材质穿透问题

热门文章

  1. 深度学习框架之争:TensorFlow退守工业界,PyTorch主导学术界?
  2. BiliBili下载.flv视频文件重命名
  3. session fixation attack修复方法
  4. Circular reasoning
  5. 苹果屏幕录制怎么没有声音_怎么录制屏幕?有哪些好用的录制屏幕软件
  6. Window系统改装为linux系统
  7. dede taglist模板中调用自定义字段
  8. 【软件定义汽车】【场景篇】AR-HUD
  9. PDF转换器的使用步骤
  10. 【资源分享】Echarts中国地图、世界地图JSON数据(包括省市、经纬度、世界地图国家名称中英对照)