Greasy Fork is available in English.
非常简单, 有任何问题请提交 "[简易修正器] " 开头的控制台日志或信息框内容。您可以通过按下 Ctrl + C 进行复制。
- // ==UserScript==// @name 简易 Bilibili 播放器修正脚本// @namespace org.jixun.bilibili.fixer// @version 1.0// @description 非常简单, 有任何问题请提交 "[简易修正器] " 开头的控制台日志或信息框内容。您可以通过按下 Ctrl + C 进行复制。// @author Jixun// @include http://bilibili.tv/video/av*// @include http://www.bilibili.tv/video/av*// @include http://bilibili.com/video/av*// @include http://www.bilibili.com/video/av*// @example http://www.bilibili.com/video/av2082259/// @grant none// @run-at document-start// ==/UserScript==addEventListener('DOMContentLoaded', function () {console.info ('[简易修正器] 准备就绪, 作用于页面 %s', location.href);var elFixer = document.createElement('div');elFixer.textContent = '修正';elFixer.className = 'fav_btn_top';elFixer.style.backgroundPosition = '5px -743px';elFixer.addEventListener('click', clickFixer, false);document.querySelector('.viewbox>.info').appendChild(elFixer);setTimeout(function () {if (-1 !== getPlayer().textContent.indexOf('由于版权相关问题')) {console.info ('[简易修正器] 检测到 Bilibili 正版源的地域检测. 如果修正后的播放器无法播放, 请尝试将 %chttp://interface.bilibili.com/playurl*%c 加入您的大陆代理规则.', 'color: red', 'color: initial');clickFixer ();}}, 3000);function clickFixer (e) {e && e.preventDefault();// fadeOut(elFixer);beginFixer(getPlayer());}function getPlayer () {return document.getElementById('bofqi');}function beginFixer (domPlayer) {if (!domPlayer)return alert('[简易修正器] 找不到播放器');var cids = domPlayer.innerHTML.match(/cid=(\d+)/);var aids = location.pathname.match(/av(\d+)(?:_(\d+))?/);var cid, aid, pg;if (cids) cid = cids[1];if (aids) {aid = aids[1];pg = Number(aids[2]) || 1;}if (cid && aid) {doReplacePlayer();} else if (aid) {console.info ('[简易修正器] 缺失 cid 参数, 尝试抓取');$.get('/widget/getPageList?aid=' + aid).done(function (str) {try {cid = JSON.parse(str)[pg - 1].cid;if (!cid)throw new Error('Invalid cid param');doReplacePlayer();} catch (err) {alert('[简易修正器] 抓取 cid 错误!');}});} else {alert ('[简易修正器] 数据缺失!');}function doReplacePlayer () {domPlayer.innerHTML = ['<iframe height="482" width="950" class="player" src="https://secure.bilibili.com/secure,cid=',cid, '&aid=', aid,'" scrolling="no" border="0" frameborder="no" framespacing="0"></iframe>'].join('');}}function fadeOut (el) {var currentOpacity = 1,currentPosition = 0;var nTimer = setInterval(procFade, 20);procFade();return nTimer;function procFade () {currentPosition += 0.05;el.style.opacity = currentOpacity = 1 - currentPosition * currentPosition * currentPosition;if (currentPosition >= 1)clearInterval(nTimer);}}}, false);