把B站视频简介sm号超链接使用的失效短链域名acg.tv替换为nicovideo
当前为
// ==UserScript== // @name 抢救本家直链 // @namespace https://memo329.jimdofree.com // @version 0.1.2 // @description 把B站视频简介sm号超链接使用的失效短链域名acg.tv替换为nicovideo // @author 永咲みつき // @match *.bilibili.com/video/* // @grant none // @run-at document-end // @license GPLv3 // @supportURL [email protected] // ==/UserScript== (function () { 'use strict'; const jsName = "抢救本家直链"; const url_acgtv = /acg.tv\//g; const url_nico = "www.nicovideo.jp/watch/"; const ClassName_desc = "desc-info-text"; //简介的类名 const ClassName_player = "bpx-player-ctrl-btn-icon"; //播放按钮的类名 const delay1 = 500; // 检查加载状态的时间间隔 const delay2 = 1000; // 播放组件基本就绪后延时执行超链接替换 console.log('【', jsName, '】脚本已就绪,等待页面加载中...'); var setid = setInterval(function(){ var element1 = document.getElementsByClassName(ClassName_player) if(element1 != null){ window.setTimeout(replace, delay2); // 执行超链接替换 clearInterval(setid); //关闭定时器 } }, delay1); var element2 = document.getElementsByClassName(ClassName_desc); function replace() { console.log('【', jsName, '】脚本执行中...'); for (var i = 0; i < element2.length; i++) { var html = element2[i].innerHTML; if (url_acgtv.test(html)) { //匹配acg.tv/字符串,替换为www.nicovideo.jp/watch/ html = html.replace(url_acgtv, url_nico); element2[i].innerHTML = html; console.log('【', jsName, '】链接替换成功!'); } else{ console.log('【', jsName, '】未发现链接。'); } } } })(); //参考: https://greasyfork.org/zh-CN/scripts/473709-b%E7%AB%99bv%E5%8F%B7%E6%B7%BB%E5%8A%A0%E8%B6%85%E9%93%BE%E6%8E%A5 // https://scriptcat.org/zh-CN/script-show-page/42/code