// ==UserScript==
// @name 哔哩哔哩(bilibili.com)动态页优化
// @license GPL-3.0 License
// @namespace https://greasyfork.org/zh-CN/scripts/40295-%E5%93%94%E5%93%A9%E5%93%94%E5%93%A9-bilibili-com-%E5%8A%A8%E6%80%81%E9%A1%B5%E4%BC%98%E5%8C%96
// @version 1.10
// @icon https://www.bilibili.com/favicon.ico?v=1
// @description 1.哔哩哔哩动态页导航样式优化。2.默认显示"投稿视频"内容。
// @author QIUZAIYOU
// @match *://t.bilibili.com/*
// @require https://cdn.jsdelivr.net/npm/jquery@3.2.1/dist/jquery.min.js
// @require https://cdn.jsdelivr.net/npm/sweetalert2@11.3.6/dist/sweetalert2.all.min.js
// @resource swalStyle https://cdn.jsdelivr.net/npm/sweetalert2@11.3.6/dist/sweetalert2.min.css
// @grant GM_setValue
// @grant GM_getValue
// @grant GM_registerMenuCommand
// @grant GM_getResourceText
// @grant GM.info
// @downloadURL none
// ==/UserScript==
/*——默认显示"投稿视频"内容开始——*/
$(function() {
const utils = {
getValue(name) {
return GM_getValue(name);
},
setValue(name, value) {
GM_setValue(name, value);
}
};
const main = {
initValue() {
const value = [
{
name: "web_video_link",
value: "https://t.bilibili.com/?tab=video"
}];
value.forEach((v) => {
if (utils.getValue(v.name) === undefined) {
utils.setValue(v.name, v.value);
}
});
},
registerMenuCommand() {
GM_registerMenuCommand("设置", () => {
const html = `
`;
Swal.fire({
title: "动态页调整设置",
html,
icon: "info",
showCloseButton: true,
showDenyButton: true,
confirmButtonText: "保存",
denyButtonText: "重置"
}).then((res) => {
res.isConfirmed && location.reload(true);
if (res.isConfirmed) {
location.reload(true);
} else if (res.isDenied) {
utils.setValue("web_video_link", true);
location.reload(true);
}
});
$("#Web-Video-Link").change((e) => {
utils.setValue("web_video_link", e.target.value);
});
});
},
consoleLogInformation() {
console.log(" " + GM.info.script.name, "\n", "脚本作者:" + GM.info.script.author, "\n", "-----------------", "\n", "「投稿视频」链接: " + utils.getValue("web_video_link"));
},
OpenDongTai() {
const web_video_link = utils.getValue("web_video_link");
const url = $(location).attr("href");
const indexHTML = "https://t.bilibili.com/pages/nav/index";
const indexHTMLNew = /(https:\/\/t.bilibili.com\/pages\/nav\/index_new).*/i;
const indexVoteHTML = /https:\/\/t.bilibili.com\/vote\/h5\/index\/#\/result\?vote_id=.*/i;
const webVoteHTML = /t.bilibili.com\/h5\/dynamic\/vote#\/result\?vote_id=.*/i;
const indexLotteryHTML = /https:\/\/t.bilibili.com\/lottery\/h5\/index\/.*/i;
const webLotteryHTML = /https:\/\/t.bilibili.com\/lottery\/.*/i;
const moreDongTai = /https:\/\/t.bilibili.com\/[0-9]+\?tab=[0-9]+/i;
const DongTaiDetail = /https:\/\/t.bilibili.com\/[0-9]+/i;
const DongTaiTopicDetail = /https:\/\/t.bilibili.com\/topic\/[0-9]+/i;
if (url == indexHTML || indexHTMLNew.test(url) || indexVoteHTML.test(url) || webVoteHTML.test(url) || indexLotteryHTML.test(url) || webLotteryHTML.test(url) || moreDongTai.test(url) || DongTaiDetail.test(url) || DongTaiTopicDetail.test(url)) {
return false; //不影响BiliBili首页导航栏动态悬浮窗、动态页里投票及互动抽奖页等内容显示
}
if (url !== web_video_link) {
window.location.href = web_video_link;
} else {
return false;
}
},
fixedStyle() {
$(".tab-bar").css({
"z-index": "4",
position: "sticky",
top: "0"
});
$(".tab-bar .tab a").removeClass("selected");
$(".tab-bar > div:nth-child(2) > a:nth-child(1)").addClass("selected");
$(".tab-bar .line").css("transform", "translateX(96px)");
},
isTopWindow() {
return window.self === window.top;
},
init() {
this.initValue();
this.fixedStyle();
this.consoleLogInformation();
this.OpenDongTai();
this.isTopWindow() && this.registerMenuCommand();
}
};
main.init();
});