您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
自动完成超链接跳转。
当前为
// ==UserScript== // @name 通用_反超链接拦截 // @name:zh-CN 通用_反超链接拦截 // @name:en-US Uni_Anti URL-Blocker // @namespace https://gitlab.com/liulipack/UserScript // @version 2.1.2 // @author LiuliPack // @description 自动完成超链接跳转。 // @match *://*/* // @run-at document-start // @license WTFPL // ==/UserScript== /* 配置示范 / Config demo { "remark": "备注", "regexp": "域名加路径正则", "mode": "解析模式:0 即网页参数、1 即元素文本、2 即元素点击", "get": "网页参数键或元素选择器" }, { "remark": "Remark", "regexp": "RegExp match path & query", "mode": "Parse Mode: 0 is URL param, 1 is Element text, 2 is Click element", "get": "URL param Key or Element selector" } */ 'use strict'; // 定义清单(list)变量和快捷选择器($)函数。 let list = [ {"remark": "Pixiv", "regexp": "^www.pixiv.net/jump.php$", "mode": 1, "get": "a"}, {"remark": "谷歌搜索", "regexp": "^www.google.com/url$", "mode": 0, "get": "url"}, {"remark": "Gitee", "regexp": "^gitee.com/link$", "mode": 0, "get": "target"}, {"remark": "知乎", "regexp": "^link.zhihu.com/$", "mode": 0, "get": "target"}, {"remark": "天眼查", "regexp": "^www.tianyancha.com/security$", "mode": 0, "get": "target"}, {"remark": "掘金", "regexp": "^link.juejin.cn/$", "mode": 0, "get": "target"}, {"remark": "百度百科", "regexp": "^baike.baidu.com/reference/[0-9]./*", "mode": 2, "get": "a.link"}, {"remark": "B站维基", "regexp": "^game.bilibili.com/linkfilter/$", "mode": 0, "get": "url"}, {"remark": "ACG 盒子", "regexp": "^www.acgbox.link/go/$", "mode": 0, "get": "url"}, ]; function $(ele) { return document.querySelector(ele); }; // 遍历清单 list.forEach(data => { // 如果域名加路径匹配 if(RegExp(data.regexp).test(location.host + location.pathname)) { if(data.mode === 0) { // 如果是“网页参数”模式,就定义超链接(URL)变量并访问 let URL = location.search.split(data.get + '=')[1].split('&')[0]; (/^http/.test(URL)) ? open(decodeURIComponent(URL), '_self') : open(atob(URL), '_self') ; }else if(data.mode === 1) { // 如果是“元素文本”模式,就获取文本并访问 open($(data.get).textContent, '_self'); }else if(data.mode === 2) { // 如果是“元素点击”模式,就点击元素 $(data.get).click(); } } });