Add no live autoplay

This commit is contained in:
the1812 2019-06-13 23:35:04 +08:00
parent 31bf7d92d5
commit fab2a564a6
14 changed files with 3122 additions and 3025 deletions

View File

@ -83,18 +83,18 @@ declare global
const unsafeWindow: Window; const unsafeWindow: Window;
class SpinQuery class SpinQuery
{ {
static condition<T>(query: () => T, condition: (queryResult: T) => boolean, success: (queryResult: T) => void, failed: () => void): void; static condition<T>(query: () => T, condition: (queryResult: T) => boolean, success: (queryResult: T) => void, failed?: () => void): void;
static condition<T>(query: () => T, condition: (queryResult: T) => boolean): Promise<T>; static condition<T>(query: () => T, condition: (queryResult: T) => boolean): Promise<T>;
static select<T>(query: () => T, action: (queryResult: T) => void, failed: () => void): void; static select<T>(query: () => T, action: (queryResult: T) => void, failed?: () => void): void;
static select<T>(query: () => T): Promise<T>; static select<T>(query: () => T): Promise<T>;
static select(query: string): Promise<HTMLElement | null>; static select(query: string): Promise<HTMLElement | null>;
static any<T>(query: () => T, action: (queryResult: T) => void, failed: () => void): void; static any<T>(query: () => T, action: (queryResult: T) => void, failed?: () => void): void;
static any<T>(query: () => T): Promise<T>; static any<T>(query: () => T): Promise<T>;
static any(query: string): Promise<any>; static any(query: string): Promise<any>;
static count<T>(query: () => T, count: number, success: (queryResult: T) => void, failed: () => void): void; static count<T>(query: () => T, count: number, success: (queryResult: T) => void, failed?: () => void): void;
static count<T>(query: () => T, count: number): Promise<T>; static count<T>(query: () => T, count: number): Promise<T>;
static count(query: string, count: number): Promise<NodeListOf<Element>>; static count(query: string, count: number): Promise<NodeListOf<Element>>;
static unsafeJquery(action: () => void, failed: () => void): void; static unsafeJquery(action: () => void, failed?: () => void): void;
static unsafeJquery(): Promise<void>; static unsafeJquery(): Promise<void>;
} }
class Toast class Toast

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1289,609 +1289,622 @@ class Resource
}; };
Resource.manifest = { Resource.manifest = {
style: { style: {
path: "style.min.css", path: 'style.min.css'
}, },
oldStyle: { oldStyle: {
path: "old.min.css", path: 'old.min.css'
}, },
scrollbarStyle: { scrollbarStyle: {
path: "scrollbar.min.css", path: 'scrollbar.min.css'
}, },
darkStyle: { darkStyle: {
path: "dark.min.css", path: 'dark.min.css',
alwaysPreview: true, alwaysPreview: true
}, },
darkStyleImportant: { darkStyleImportant: {
path: "dark-important.min.css", path: 'dark-important.min.css',
alwaysPreview: true, alwaysPreview: true
}, },
darkStyleNavBar: { darkStyleNavBar: {
path: "dark-navbar.min.css", path: 'dark-navbar.min.css',
alwaysPreview: true, alwaysPreview: true
}, },
touchPlayerStyle: { touchPlayerStyle: {
path: "touch-player.min.css", path: 'touch-player.min.css'
}, },
navbarOverrideStyle: { navbarOverrideStyle: {
path: "override-navbar.min.css", path: 'override-navbar.min.css'
}, },
noBannerStyle: { noBannerStyle: {
path: "no-banner.min.css", path: 'no-banner.min.css'
}, },
imageViewerStyle: { imageViewerStyle: {
path: "image-viewer.min.css", path: 'image-viewer.min.css'
}, },
imageViewerHtml: { imageViewerHtml: {
path: "image-viewer.min.html", path: 'image-viewer.min.html'
}, },
iconsStyle: { iconsStyle: {
path: "icons.min.css", path: 'icons.min.css'
}, },
settingsSideBar: { settingsSideBar: {
path: "settings-side-bar.min.js", path: 'settings-side-bar.min.js'
}, },
textValidate: { textValidate: {
path: "text-validate.min.js", path: 'text-validate.min.js'
}, },
themeColors: { themeColors: {
path: "theme-colors.min.js", path: 'theme-colors.min.js'
}, },
settingsTooltipStyle: { settingsTooltipStyle: {
path: "settings-tooltip.min.css", path: 'settings-tooltip.min.css'
}, },
settingsTooltipJapanese: { settingsTooltipJapanese: {
path: "settings-tooltip.ja-JP.min.js", path: 'settings-tooltip.ja-JP.min.js'
}, },
settingsTooltipChinese: { settingsTooltipChinese: {
path: "settings-tooltip.zh-CN.min.js", path: 'settings-tooltip.zh-CN.min.js'
}, },
settingsTooltipEnglish: { settingsTooltipEnglish: {
path: "settings-tooltip.en-US.min.js", path: 'settings-tooltip.en-US.min.js'
}, },
settingsTooltip: { settingsTooltip: {
path: "settings-tooltip.loader.min.js", path: 'settings-tooltip.loader.min.js',
dependencies: [ dependencies: [
"settingsTooltipStyle" 'settingsTooltipStyle'
], ]
}, },
settingsSearch: { settingsSearch: {
path: "settings-search.min.js", path: 'settings-search.min.js'
}, },
guiSettings: { guiSettings: {
path: "gui-settings.min.js", path: 'gui-settings.min.js',
html: true, html: true,
style: "instant", style: 'instant',
dependencies: [ dependencies: [
"textValidate", 'textValidate',
"settingsSideBar", 'settingsSideBar',
"themeColors", 'themeColors',
"settingsTooltip", 'settingsTooltip',
"settingsSearch", 'settingsSearch'
], ],
styles: [ styles: [
{ {
key: "iconsStyle", key: 'iconsStyle',
important: true, important: true
}, }
], ],
displayNames: { displayNames: {
guiSettings: "设置", guiSettings: '设置',
blurSettingsPanel: "模糊设置面板背景", blurSettingsPanel: '模糊设置面板背景',
clearCache: "清除缓存", clearCache: '清除缓存',
settingsTooltip: "设置项帮助", settingsTooltip: '设置项帮助',
settingsSearch: "搜索设置", settingsSearch: '搜索设置',
sideBarOffset: "侧栏垂直偏移量", sideBarOffset: '侧栏垂直偏移量'
}, }
}, },
useDarkStyle: { useDarkStyle: {
path: "dark-styles.min.js", path: 'dark-styles.min.js',
alwaysPreview: true, alwaysPreview: true,
styles: [ styles: [
"darkStyle", 'darkStyle',
"scrollbarStyle", 'scrollbarStyle',
{ {
key: "darkStyleNavBar", key: 'darkStyleNavBar',
important: true, important: true,
condition() condition () {
{ return !settings.useNewStyle && ($('#banner_link').length === 0 ||
return !settings.useNewStyle && ($("#banner_link").length === 0 || $('#banner_link').length > 0 &&
$("#banner_link").length > 0 &&
settings.overrideNavBar && settings.overrideNavBar &&
!settings.showBanner); !settings.showBanner)
} }
}, },
{ {
key: "darkStyleImportant", key: 'darkStyleImportant',
important: true, important: true,
condition: () => true, condition: () => true
}, }
], ],
displayNames: { displayNames: {
useDarkStyle: "夜间模式", useDarkStyle: '夜间模式'
}, }
}, },
tweetsStyle: { tweetsStyle: {
path: "tweets.min.css", path: 'tweets.min.css'
}, },
useNewStyle: { useNewStyle: {
path: "new-styles.min.js", path: 'new-styles.min.js',
dependencies: [ dependencies: [
"style", 'style',
"oldStyle", 'oldStyle'
], ],
styles: [ styles: [
"tweetsStyle", 'tweetsStyle',
{ {
key: "scrollbarStyle", key: 'scrollbarStyle',
condition: () => document.URL !== `https://h.bilibili.com/`, condition: () => document.URL !== `https://h.bilibili.com/`
}, }
], ],
displayNames: { displayNames: {
useNewStyle: "样式调整", useNewStyle: '样式调整',
blurBackgroundOpacity: "顶栏(对横幅)透明度", blurBackgroundOpacity: '顶栏(对横幅)透明度'
}, }
}, },
hideBanner: { hideBanner: {
path: "hide-banner.min.js", path: 'hide-banner.min.js',
style: true, style: true,
displayNames: { displayNames: {
hideBanner: "隐藏顶部横幅", hideBanner: '隐藏顶部横幅'
}, }
}, },
touchNavBar: { touchNavBar: {
path: "touch-navbar.min.js", path: 'touch-navbar.min.js',
displayNames: { displayNames: {
touchNavBar: "顶栏触摸优化", touchNavBar: '顶栏触摸优化'
}, }
}, },
touchVideoPlayer: { touchVideoPlayer: {
path: "touch-player.min.js", path: 'touch-player.min.js',
styles: [ styles: [
"touchPlayerStyle", 'touchPlayerStyle'
], ],
displayNames: { displayNames: {
touchVideoPlayer: "播放器触摸支持", touchVideoPlayer: '播放器触摸支持',
touchVideoPlayerAnimation: "启用实验性动画效果", touchVideoPlayerAnimation: '启用实验性动画效果',
touchVideoPlayerDoubleTapControl: "启用双击控制", touchVideoPlayerDoubleTapControl: '启用双击控制'
}, }
}, },
expandDanmakuList: { expandDanmakuList: {
path: "expand-danmaku.min.js", path: 'expand-danmaku.min.js',
displayNames: { displayNames: {
expandDanmakuList: "自动展开弹幕列表", expandDanmakuList: '自动展开弹幕列表'
}, }
}, },
removeAds: { removeAds: {
path: "remove-promotions.min.js", path: 'remove-promotions.min.js',
style: "instant", style: 'instant',
displayNames: { displayNames: {
removeAds: "删除广告", removeAds: '删除广告'
}, }
}, },
watchLaterRedirect: { watchLaterRedirect: {
path: "watchlater.min.js", path: 'watchlater.min.js',
displayNames: { displayNames: {
watchLaterRedirect: "稍后再看重定向", watchLaterRedirect: '稍后再看重定向'
}, }
}, },
hideTopSearch: { hideTopSearch: {
path: "hide-top-search.min.js", path: 'hide-top-search.min.js',
displayNames: { displayNames: {
hideTopSearch: "隐藏搜索推荐", hideTopSearch: '隐藏搜索推荐'
}, }
}, },
harunaScale: { harunaScale: {
path: "haruna-scale.min.js", path: 'haruna-scale.min.js',
displayNames: { displayNames: {
harunaScale: "缩放直播看板娘", harunaScale: '缩放直播看板娘'
}, }
}, },
removeLiveWatermark: { removeLiveWatermark: {
path: "remove-watermark.min.js", path: 'remove-watermark.min.js',
displayNames: { displayNames: {
removeLiveWatermark: "删除直播水印", removeLiveWatermark: '删除直播水印'
}, }
}, },
fullTweetsTitle: { fullTweetsTitle: {
path: "full-tweets-title.min.js", path: 'full-tweets-title.min.js',
style: "instant", style: 'instant',
displayNames: { displayNames: {
fullTweetsTitle: "展开动态标题", fullTweetsTitle: '展开动态标题'
}, }
}, },
fullPageTitle: { fullPageTitle: {
path: "full-page-title.min.js", path: 'full-page-title.min.js',
style: "instant", style: 'instant',
displayNames: { displayNames: {
fullPageTitle: "展开选集标题", fullPageTitle: '展开选集标题'
}, }
}, },
viewCover: { viewCover: {
path: "view-cover.min.js", path: 'view-cover.min.js',
dependencies: [ dependencies: [
"imageViewerHtml", 'imageViewerHtml',
"videoInfo", 'videoInfo',
"title", 'title'
], ],
styles: [ styles: [
"imageViewerStyle", 'imageViewerStyle'
], ],
displayNames: { displayNames: {
viewCover: "查看封面", viewCover: '查看封面'
}, }
}, },
notifyNewVersion: { notifyNewVersion: {
path: "notify-new-version.min.js", path: 'notify-new-version.min.js',
displayNames: { displayNames: {
notifyNewVersion: "检查更新", notifyNewVersion: '检查更新'
}, }
}, },
toast: { toast: {
path: "toast.min.js", path: 'toast.min.js',
style: "instant", style: 'instant',
displayNames: { displayNames: {
toast: "显示消息", toast: '显示消息',
toastInternalError: "显示内部错误消息", toastInternalError: '显示内部错误消息'
}, }
}, },
removeVideoTopMask: { removeVideoTopMask: {
path: "remove-top-mask.min.js", path: 'remove-top-mask.min.js',
displayNames: { displayNames: {
removeVideoTopMask: "删除视频标题层", removeVideoTopMask: '删除视频标题层'
}, }
}, },
blurVideoControl: { blurVideoControl: {
path: "blur-video-control.min.js", path: 'blur-video-control.min.js',
style: "instant", style: 'instant',
displayNames: { displayNames: {
blurVideoControl: "模糊视频控制栏背景", blurVideoControl: '模糊视频控制栏背景'
}, }
}, },
darkSchedule: { darkSchedule: {
path: "dark-schedule.min.js", path: 'dark-schedule.min.js',
displayNames: { displayNames: {
darkSchedule: "夜间模式计划时段", darkSchedule: '夜间模式计划时段',
darkScheduleStart: "起始时间", darkScheduleStart: '起始时间',
darkScheduleEnd: "结束时间", darkScheduleEnd: '结束时间'
}, }
}, },
clearCache: { clearCache: {
path: "clear-cache.min.js", path: 'clear-cache.min.js',
displayNames: { displayNames: {
useCache: "启用缓存", useCache: '启用缓存'
}, }
}, },
downloadVideo: { downloadVideo: {
path: "download-video.min.js", path: 'download-video.min.js',
html: true, html: true,
style: "instant", style: 'instant',
dependencies: ["title"], dependencies: ['title'],
displayNames: { displayNames: {
"downloadVideo": "下载视频", 'downloadVideo': '下载视频',
"batchDownload": "批量下载", 'batchDownload': '批量下载'
}, }
}, },
downloadDanmaku: { downloadDanmaku: {
path: "download-danmaku.min.js", path: 'download-danmaku.min.js',
dependencies: [ dependencies: [
"title", 'title',
"videoInfo", 'videoInfo',
"danmakuConverter", 'danmakuConverter'
], ],
displayNames: { displayNames: {
"downloadDanmaku": "下载弹幕", 'downloadDanmaku': '下载弹幕'
}, }
}, },
danmakuConverter: { danmakuConverter: {
path: "danmaku-converter.min.js" path: 'danmaku-converter.min.js'
}, },
videoInfo: { videoInfo: {
path: "video-info.min.js", path: 'video-info.min.js'
}, },
about: { about: {
path: "about.min.js", path: 'about.min.js',
html: true, html: true,
style: "important", style: 'important',
displayNames: { displayNames: {
"about": "关于", 'about': '关于'
} }
}, },
customControlBackground: { customControlBackground: {
path: "custom-control-background.min.js", path: 'custom-control-background.min.js',
style: { style: {
key: "customControlBackgroundStyle", key: 'customControlBackgroundStyle',
condition: () => settings.customControlBackgroundOpacity > 0, condition: () => settings.customControlBackgroundOpacity > 0
}, },
displayNames: { displayNames: {
customControlBackground: "控制栏着色", customControlBackground: '控制栏着色',
customControlBackgroundOpacity: "不透明度", customControlBackgroundOpacity: '不透明度'
}, }
}, },
useDefaultPlayerMode: { useDefaultPlayerMode: {
path: "default-player-mode.min.js", path: 'default-player-mode.min.js',
displayNames: { displayNames: {
useDefaultPlayerMode: "使用默认播放器模式", useDefaultPlayerMode: '使用默认播放器模式',
defaultPlayerMode: "默认播放器模式", defaultPlayerMode: '默认播放器模式',
autoLightOff: "播放时自动关灯", autoLightOff: '播放时自动关灯',
applyPlayerModeOnPlay: "播放时应用模式", applyPlayerModeOnPlay: '播放时应用模式'
}, },
dropdown: { dropdown: {
key: "defaultPlayerMode", key: 'defaultPlayerMode',
items: ["常规", "宽屏", "网页全屏", "全屏"], items: ['常规', '宽屏', '网页全屏', '全屏']
}, }
}, },
useDefaultVideoQuality: { useDefaultVideoQuality: {
path: "default-video-quality.min.js", path: 'default-video-quality.min.js',
displayNames: { displayNames: {
useDefaultVideoQuality: "使用默认视频画质", useDefaultVideoQuality: '使用默认视频画质',
defaultVideoQuality: "画质设定", defaultVideoQuality: '画质设定'
}, },
dropdown: { dropdown: {
key: "defaultVideoQuality", key: 'defaultVideoQuality',
items: ["1080P60", "1080P+", "1080P", "720P60", "720P", "480P", "360P", "自动"], items: ['1080P60', '1080P+', '1080P', '720P60', '720P', '480P', '360P', '自动']
}, }
}, },
comboLike: { comboLike: {
path: "combo-like.min.js", path: 'combo-like.min.js',
displayNames: { displayNames: {
comboLike: "素质三连触摸支持", comboLike: '素质三连触摸支持'
}, }
}, },
autoContinue: { autoContinue: {
path: "auto-continue.min.js", path: 'auto-continue.min.js',
displayNames: { displayNames: {
autoContinue: "自动从历史记录点播放", autoContinue: '自动从历史记录点播放',
allowJumpContinue: "允许跨集跳转", allowJumpContinue: '允许跨集跳转'
}, }
}, },
expandDescription: { expandDescription: {
path: "expand-description.min.js", path: 'expand-description.min.js',
style: "instant", style: 'instant',
displayNames: { displayNames: {
expandDescription: "自动展开视频简介" expandDescription: '自动展开视频简介'
} }
}, },
defaultDanmakuSettingsStyle: { defaultDanmakuSettingsStyle: {
path: "default-danmaku-settings.min.css", path: 'default-danmaku-settings.min.css'
}, },
useDefaultDanmakuSettings: { useDefaultDanmakuSettings: {
path: "default-danmaku-settings.min.js", path: 'default-danmaku-settings.min.js',
styles: [ styles: [
{ {
key: "defaultDanmakuSettingsStyle", key: 'defaultDanmakuSettingsStyle',
condition: () => settings.rememberDanmakuSettings, condition: () => settings.rememberDanmakuSettings
}, }
], ],
displayNames: { displayNames: {
useDefaultDanmakuSettings: "使用默认弹幕设置", useDefaultDanmakuSettings: '使用默认弹幕设置',
enableDanmaku: "开启弹幕", enableDanmaku: '开启弹幕',
rememberDanmakuSettings: "记住弹幕设置", rememberDanmakuSettings: '记住弹幕设置'
}, }
}, },
skipChargeList: { skipChargeList: {
path: "skip-charge-list.min.js", path: 'skip-charge-list.min.js',
style: "instant", style: 'instant',
displayNames: { displayNames: {
skipChargeList: "跳过充电鸣谢", skipChargeList: '跳过充电鸣谢'
} }
}, },
playerLayout: { playerLayout: {
path: "default-player-layout.min.js", path: 'default-player-layout.min.js',
displayNames: { displayNames: {
useDefaultPlayerLayout: "指定播放器布局", useDefaultPlayerLayout: '指定播放器布局',
defaultPlayerLayout: "视频区布局", defaultPlayerLayout: '视频区布局',
defaultBangumiLayout: "番剧区布局", defaultBangumiLayout: '番剧区布局'
}, },
dropdown: [ dropdown: [
{ {
key: "defaultPlayerLayout", key: 'defaultPlayerLayout',
items: ["旧版", "新版"] items: ['旧版', '新版']
}, },
{ {
key: "defaultBangumiLayout", key: 'defaultBangumiLayout',
items: ["旧版", "新版"] items: ['旧版', '新版']
}, }
], ]
}, },
compactLayout: { compactLayout: {
path: "compact-layout.min.js", path: 'compact-layout.min.js',
style: true, style: true,
displayNames: { displayNames: {
compactLayout: "首页使用紧凑布局", compactLayout: '首页使用紧凑布局'
} }
}, },
medalHelper: { medalHelper: {
path: "medal-helper.min.js", path: 'medal-helper.min.js',
html: true, html: true,
style: "instant", style: 'instant',
displayNames: { displayNames: {
medalHelper: "直播勋章快速更换" medalHelper: '直播勋章快速更换'
} }
}, },
showDeadVideoTitle: { showDeadVideoTitle: {
path: "show-dead-video-title.min.js", path: 'show-dead-video-title.min.js',
displayNames: { displayNames: {
showDeadVideoTitle: "显示失效视频信息", showDeadVideoTitle: '显示失效视频信息',
useBiliplusRedirect: "失效视频重定向", useBiliplusRedirect: '失效视频重定向'
}, }
}, },
autoPlay: { autoPlay: {
path: "auto-play.min.js", path: 'auto-play.min.js',
displayNames: { displayNames: {
autoPlay: "自动播放视频", autoPlay: '自动播放视频'
} }
}, },
useCommentStyle: { useCommentStyle: {
path: "comment.min.js", path: 'comment.min.js',
style: "important", style: 'important',
displayNames: { displayNames: {
useCommentStyle: "简化评论区", useCommentStyle: '简化评论区'
}, }
}, },
title: { title: {
path: "title.min.js", path: 'title.min.js',
displayNames: { displayNames: {
filenameFormat: "文件命名格式", filenameFormat: '文件命名格式'
}, }
}, },
imageResolution: { imageResolution: {
path: "image-resolution.min.js", path: 'image-resolution.min.js',
displayNames: { displayNames: {
imageResolution: "高分辨率图片", imageResolution: '高分辨率图片'
}, }
}, },
biliplusRedirect: { biliplusRedirect: {
path: "biliplus-redirect.min.js", path: 'biliplus-redirect.min.js',
displayNames: { displayNames: {
biliplusRedirect: "BiliPlus跳转支持", biliplusRedirect: 'BiliPlus跳转支持'
} }
}, },
framePlayback: { framePlayback: {
path: "frame-playback.min.js", path: 'frame-playback.min.js',
style: "instant", style: 'instant',
html: true, html: true,
displayNames: { displayNames: {
framePlayback: "启用逐帧调整", framePlayback: '启用逐帧调整'
}, }
}, },
downloadAudio: { downloadAudio: {
path: "download-audio.min.js", path: 'download-audio.min.js',
displayNames: { displayNames: {
downloadAudio: "下载音频", downloadAudio: '下载音频'
}, }
}, },
i18nEnglish: { i18nEnglish: {
path: "i18n.en-US.min.js", path: 'i18n.en-US.min.js',
alwaysPreview: true, alwaysPreview: true
}, },
i18nJapanese: { i18nJapanese: {
path: "i18n.ja-JP.min.js", path: 'i18n.ja-JP.min.js',
alwaysPreview: true, alwaysPreview: true
}, },
i18nTraditionalChinese: { i18nTraditionalChinese: {
path: "i18n.zh-TW.min.js", path: 'i18n.zh-TW.min.js',
alwaysPreview: true, alwaysPreview: true
}, },
i18nGerman: { i18nGerman: {
path: "i18n.de-DE.min.js", path: 'i18n.de-DE.min.js',
alwaysPreview: true, alwaysPreview: true
}, },
i18n: { i18n: {
path: "i18n.min.js", path: 'i18n.min.js',
alwaysPreview: true, alwaysPreview: true,
style: "important", style: 'important',
displayNames: { displayNames: {
i18n: "界面翻译", i18n: '界面翻译',
i18nLanguage: "语言", i18nLanguage: '语言',
i18nEnglish: "英语翻译模块", i18nEnglish: '英语翻译模块',
i18nJapanese: "日语翻译模块", i18nJapanese: '日语翻译模块',
i18nGerman: "德语翻译模块", i18nGerman: '德语翻译模块',
i18nTraditionalChinese: "繁体翻译模块", i18nTraditionalChinese: '繁体翻译模块'
}, },
dropdown: { dropdown: {
key: "i18nLanguage", key: 'i18nLanguage',
// items: Object.keys(languageCodeMap), // items: Object.keys(languageCodeMap),
items: [`日本語`, `English`], items: [`日本語`, `English`]
}, }
}, },
playerFocus: { playerFocus: {
path: "player-focus.min.js", path: 'player-focus.min.js',
displayNames: { displayNames: {
playerFocus: "自动定位到播放器", playerFocus: '自动定位到播放器',
playerFocusOffset: "定位偏移量", playerFocusOffset: '定位偏移量'
}, }
}, },
simplifyLiveroom: { simplifyLiveroom: {
path: "simplify-liveroom.min.js", path: 'simplify-liveroom.min.js',
style: "important", style: 'important',
displayNames: { displayNames: {
simplifyLiveroom: "简化直播间" simplifyLiveroom: '简化直播间'
}, }
}, },
oldTweets: { oldTweets: {
path: "old-tweets.min.js", path: 'old-tweets.min.js',
displayNames: { displayNames: {
oldTweets: "旧版动态跳转支持", oldTweets: '旧版动态跳转支持'
}, }
}, },
customNavbar: { customNavbar: {
path: "custom-navbar.min.js", path: 'custom-navbar.min.js',
style: "instant", style: 'instant',
html: true, html: true,
displayNames: { displayNames: {
customNavbar: "使用自定义顶栏", customNavbar: '使用自定义顶栏',
customNavbarFill: "主题色填充", customNavbarFill: '主题色填充',
customNavbarShadow: "投影", customNavbarShadow: '投影',
customNavbarCompact: "紧凑布局", customNavbarCompact: '紧凑布局',
customNavbarBlur: "背景模糊", customNavbarBlur: '背景模糊',
customNavbarBlurOpacity: "模糊层不透明度", customNavbarBlurOpacity: '模糊层不透明度',
allNavbarFill: "填充其他顶栏", allNavbarFill: '填充其他顶栏'
}, }
}, },
favoritesRedirect: { favoritesRedirect: {
path: "favorites-redirect.min.js", path: 'favorites-redirect.min.js',
displayNames: { displayNames: {
favoritesRedirect: "收藏夹视频重定向", favoritesRedirect: '收藏夹视频重定向'
} }
}, },
outerWatchlater: { outerWatchlater: {
path: "outer-watchlater.min.js", path: 'outer-watchlater.min.js',
style: "important", style: 'important',
displayNames: { displayNames: {
outerWatchlater: "外置稍后再看", outerWatchlater: '外置稍后再看'
}, }
}, },
playerShadow: { playerShadow: {
path: "player-shadow.min.js", path: 'player-shadow.min.js',
displayNames: { displayNames: {
playerShadow: "播放器投影", playerShadow: '播放器投影'
}, }
}, },
narrowDanmaku: { narrowDanmaku: {
path: "narrow-danmaku.min.js", path: 'narrow-danmaku.min.js',
displayNames: { displayNames: {
narrowDanmaku: "强制保留弹幕栏", narrowDanmaku: '强制保留弹幕栏'
}, }
}, },
hideOldEntry: { hideOldEntry: {
path: "hide-old-entry.min.js", path: 'hide-old-entry.min.js',
displayNames: { displayNames: {
hideOldEntry: "隐藏返回旧版", hideOldEntry: '隐藏返回旧版'
}, }
}, },
batchDownload: { batchDownload: {
path: "batch-download.min.js", path: 'batch-download.min.js'
}, },
slip: { slip: {
path: "slip.min.js", path: 'slip.min.js',
displayNames: { displayNames: {
slip: "Slip.js" slip: 'Slip.js'
}, }
}, },
debounce: { debounce: {
path: "debounce.min.js", path: 'debounce.min.js',
displayNames: { displayNames: {
slip: "debounce.js" slip: 'debounce.js'
}, }
}, },
videoScreenshot: { videoScreenshot: {
path: "screenshot.min.js", path: 'screenshot.min.js',
style: true, style: true,
displayNames: { displayNames: {
videoScreenshot: "启用视频截图", videoScreenshot: '启用视频截图'
}, },
dependencies: [ dependencies: [
"title", 'title'
], ]
}, },
hideBangumiReviews: { hideBangumiReviews: {
path: "hide-bangumi-reviews.min.js", path: 'hide-bangumi-reviews.min.js',
displayNames: { displayNames: {
hideBangumiReviews: "隐藏番剧点评", hideBangumiReviews: '隐藏番剧点评'
}
}, },
noLiveAutoplay: {
path: 'no-live-autoplay.min.js',
displayNames: {
noLiveAutoplay: '禁止直播首页自动播放',
hideHomeLive: '隐藏首页推荐直播',
}
}, },
}; noMiniVideoAutoplay: {
const resourceManifest = Resource.manifest;; path: 'no-mini-video-autoplay.min.js',
displayNames: {
noMiniVideoAutoplay: '禁止小视频自动播放',
}
},
}
const resourceManifest = Resource.manifest
;
class StyleManager class StyleManager
{ {
constructor(resources) constructor(resources)

View File

@ -1289,609 +1289,622 @@ class Resource
}; };
Resource.manifest = { Resource.manifest = {
style: { style: {
path: "style.min.css", path: 'style.min.css'
}, },
oldStyle: { oldStyle: {
path: "old.min.css", path: 'old.min.css'
}, },
scrollbarStyle: { scrollbarStyle: {
path: "scrollbar.min.css", path: 'scrollbar.min.css'
}, },
darkStyle: { darkStyle: {
path: "dark.min.css", path: 'dark.min.css',
alwaysPreview: true, alwaysPreview: true
}, },
darkStyleImportant: { darkStyleImportant: {
path: "dark-important.min.css", path: 'dark-important.min.css',
alwaysPreview: true, alwaysPreview: true
}, },
darkStyleNavBar: { darkStyleNavBar: {
path: "dark-navbar.min.css", path: 'dark-navbar.min.css',
alwaysPreview: true, alwaysPreview: true
}, },
touchPlayerStyle: { touchPlayerStyle: {
path: "touch-player.min.css", path: 'touch-player.min.css'
}, },
navbarOverrideStyle: { navbarOverrideStyle: {
path: "override-navbar.min.css", path: 'override-navbar.min.css'
}, },
noBannerStyle: { noBannerStyle: {
path: "no-banner.min.css", path: 'no-banner.min.css'
}, },
imageViewerStyle: { imageViewerStyle: {
path: "image-viewer.min.css", path: 'image-viewer.min.css'
}, },
imageViewerHtml: { imageViewerHtml: {
path: "image-viewer.min.html", path: 'image-viewer.min.html'
}, },
iconsStyle: { iconsStyle: {
path: "icons.min.css", path: 'icons.min.css'
}, },
settingsSideBar: { settingsSideBar: {
path: "settings-side-bar.min.js", path: 'settings-side-bar.min.js'
}, },
textValidate: { textValidate: {
path: "text-validate.min.js", path: 'text-validate.min.js'
}, },
themeColors: { themeColors: {
path: "theme-colors.min.js", path: 'theme-colors.min.js'
}, },
settingsTooltipStyle: { settingsTooltipStyle: {
path: "settings-tooltip.min.css", path: 'settings-tooltip.min.css'
}, },
settingsTooltipJapanese: { settingsTooltipJapanese: {
path: "settings-tooltip.ja-JP.min.js", path: 'settings-tooltip.ja-JP.min.js'
}, },
settingsTooltipChinese: { settingsTooltipChinese: {
path: "settings-tooltip.zh-CN.min.js", path: 'settings-tooltip.zh-CN.min.js'
}, },
settingsTooltipEnglish: { settingsTooltipEnglish: {
path: "settings-tooltip.en-US.min.js", path: 'settings-tooltip.en-US.min.js'
}, },
settingsTooltip: { settingsTooltip: {
path: "settings-tooltip.loader.min.js", path: 'settings-tooltip.loader.min.js',
dependencies: [ dependencies: [
"settingsTooltipStyle" 'settingsTooltipStyle'
], ]
}, },
settingsSearch: { settingsSearch: {
path: "settings-search.min.js", path: 'settings-search.min.js'
}, },
guiSettings: { guiSettings: {
path: "gui-settings.min.js", path: 'gui-settings.min.js',
html: true, html: true,
style: "instant", style: 'instant',
dependencies: [ dependencies: [
"textValidate", 'textValidate',
"settingsSideBar", 'settingsSideBar',
"themeColors", 'themeColors',
"settingsTooltip", 'settingsTooltip',
"settingsSearch", 'settingsSearch'
], ],
styles: [ styles: [
{ {
key: "iconsStyle", key: 'iconsStyle',
important: true, important: true
}, }
], ],
displayNames: { displayNames: {
guiSettings: "设置", guiSettings: '设置',
blurSettingsPanel: "模糊设置面板背景", blurSettingsPanel: '模糊设置面板背景',
clearCache: "清除缓存", clearCache: '清除缓存',
settingsTooltip: "设置项帮助", settingsTooltip: '设置项帮助',
settingsSearch: "搜索设置", settingsSearch: '搜索设置',
sideBarOffset: "侧栏垂直偏移量", sideBarOffset: '侧栏垂直偏移量'
}, }
}, },
useDarkStyle: { useDarkStyle: {
path: "dark-styles.min.js", path: 'dark-styles.min.js',
alwaysPreview: true, alwaysPreview: true,
styles: [ styles: [
"darkStyle", 'darkStyle',
"scrollbarStyle", 'scrollbarStyle',
{ {
key: "darkStyleNavBar", key: 'darkStyleNavBar',
important: true, important: true,
condition() condition () {
{ return !settings.useNewStyle && ($('#banner_link').length === 0 ||
return !settings.useNewStyle && ($("#banner_link").length === 0 || $('#banner_link').length > 0 &&
$("#banner_link").length > 0 &&
settings.overrideNavBar && settings.overrideNavBar &&
!settings.showBanner); !settings.showBanner)
} }
}, },
{ {
key: "darkStyleImportant", key: 'darkStyleImportant',
important: true, important: true,
condition: () => true, condition: () => true
}, }
], ],
displayNames: { displayNames: {
useDarkStyle: "夜间模式", useDarkStyle: '夜间模式'
}, }
}, },
tweetsStyle: { tweetsStyle: {
path: "tweets.min.css", path: 'tweets.min.css'
}, },
useNewStyle: { useNewStyle: {
path: "new-styles.min.js", path: 'new-styles.min.js',
dependencies: [ dependencies: [
"style", 'style',
"oldStyle", 'oldStyle'
], ],
styles: [ styles: [
"tweetsStyle", 'tweetsStyle',
{ {
key: "scrollbarStyle", key: 'scrollbarStyle',
condition: () => document.URL !== `https://h.bilibili.com/`, condition: () => document.URL !== `https://h.bilibili.com/`
}, }
], ],
displayNames: { displayNames: {
useNewStyle: "样式调整", useNewStyle: '样式调整',
blurBackgroundOpacity: "顶栏(对横幅)透明度", blurBackgroundOpacity: '顶栏(对横幅)透明度'
}, }
}, },
hideBanner: { hideBanner: {
path: "hide-banner.min.js", path: 'hide-banner.min.js',
style: true, style: true,
displayNames: { displayNames: {
hideBanner: "隐藏顶部横幅", hideBanner: '隐藏顶部横幅'
}, }
}, },
touchNavBar: { touchNavBar: {
path: "touch-navbar.min.js", path: 'touch-navbar.min.js',
displayNames: { displayNames: {
touchNavBar: "顶栏触摸优化", touchNavBar: '顶栏触摸优化'
}, }
}, },
touchVideoPlayer: { touchVideoPlayer: {
path: "touch-player.min.js", path: 'touch-player.min.js',
styles: [ styles: [
"touchPlayerStyle", 'touchPlayerStyle'
], ],
displayNames: { displayNames: {
touchVideoPlayer: "播放器触摸支持", touchVideoPlayer: '播放器触摸支持',
touchVideoPlayerAnimation: "启用实验性动画效果", touchVideoPlayerAnimation: '启用实验性动画效果',
touchVideoPlayerDoubleTapControl: "启用双击控制", touchVideoPlayerDoubleTapControl: '启用双击控制'
}, }
}, },
expandDanmakuList: { expandDanmakuList: {
path: "expand-danmaku.min.js", path: 'expand-danmaku.min.js',
displayNames: { displayNames: {
expandDanmakuList: "自动展开弹幕列表", expandDanmakuList: '自动展开弹幕列表'
}, }
}, },
removeAds: { removeAds: {
path: "remove-promotions.min.js", path: 'remove-promotions.min.js',
style: "instant", style: 'instant',
displayNames: { displayNames: {
removeAds: "删除广告", removeAds: '删除广告'
}, }
}, },
watchLaterRedirect: { watchLaterRedirect: {
path: "watchlater.min.js", path: 'watchlater.min.js',
displayNames: { displayNames: {
watchLaterRedirect: "稍后再看重定向", watchLaterRedirect: '稍后再看重定向'
}, }
}, },
hideTopSearch: { hideTopSearch: {
path: "hide-top-search.min.js", path: 'hide-top-search.min.js',
displayNames: { displayNames: {
hideTopSearch: "隐藏搜索推荐", hideTopSearch: '隐藏搜索推荐'
}, }
}, },
harunaScale: { harunaScale: {
path: "haruna-scale.min.js", path: 'haruna-scale.min.js',
displayNames: { displayNames: {
harunaScale: "缩放直播看板娘", harunaScale: '缩放直播看板娘'
}, }
}, },
removeLiveWatermark: { removeLiveWatermark: {
path: "remove-watermark.min.js", path: 'remove-watermark.min.js',
displayNames: { displayNames: {
removeLiveWatermark: "删除直播水印", removeLiveWatermark: '删除直播水印'
}, }
}, },
fullTweetsTitle: { fullTweetsTitle: {
path: "full-tweets-title.min.js", path: 'full-tweets-title.min.js',
style: "instant", style: 'instant',
displayNames: { displayNames: {
fullTweetsTitle: "展开动态标题", fullTweetsTitle: '展开动态标题'
}, }
}, },
fullPageTitle: { fullPageTitle: {
path: "full-page-title.min.js", path: 'full-page-title.min.js',
style: "instant", style: 'instant',
displayNames: { displayNames: {
fullPageTitle: "展开选集标题", fullPageTitle: '展开选集标题'
}, }
}, },
viewCover: { viewCover: {
path: "view-cover.min.js", path: 'view-cover.min.js',
dependencies: [ dependencies: [
"imageViewerHtml", 'imageViewerHtml',
"videoInfo", 'videoInfo',
"title", 'title'
], ],
styles: [ styles: [
"imageViewerStyle", 'imageViewerStyle'
], ],
displayNames: { displayNames: {
viewCover: "查看封面", viewCover: '查看封面'
}, }
}, },
notifyNewVersion: { notifyNewVersion: {
path: "notify-new-version.min.js", path: 'notify-new-version.min.js',
displayNames: { displayNames: {
notifyNewVersion: "检查更新", notifyNewVersion: '检查更新'
}, }
}, },
toast: { toast: {
path: "toast.min.js", path: 'toast.min.js',
style: "instant", style: 'instant',
displayNames: { displayNames: {
toast: "显示消息", toast: '显示消息',
toastInternalError: "显示内部错误消息", toastInternalError: '显示内部错误消息'
}, }
}, },
removeVideoTopMask: { removeVideoTopMask: {
path: "remove-top-mask.min.js", path: 'remove-top-mask.min.js',
displayNames: { displayNames: {
removeVideoTopMask: "删除视频标题层", removeVideoTopMask: '删除视频标题层'
}, }
}, },
blurVideoControl: { blurVideoControl: {
path: "blur-video-control.min.js", path: 'blur-video-control.min.js',
style: "instant", style: 'instant',
displayNames: { displayNames: {
blurVideoControl: "模糊视频控制栏背景", blurVideoControl: '模糊视频控制栏背景'
}, }
}, },
darkSchedule: { darkSchedule: {
path: "dark-schedule.min.js", path: 'dark-schedule.min.js',
displayNames: { displayNames: {
darkSchedule: "夜间模式计划时段", darkSchedule: '夜间模式计划时段',
darkScheduleStart: "起始时间", darkScheduleStart: '起始时间',
darkScheduleEnd: "结束时间", darkScheduleEnd: '结束时间'
}, }
}, },
clearCache: { clearCache: {
path: "clear-cache.min.js", path: 'clear-cache.min.js',
displayNames: { displayNames: {
useCache: "启用缓存", useCache: '启用缓存'
}, }
}, },
downloadVideo: { downloadVideo: {
path: "download-video.min.js", path: 'download-video.min.js',
html: true, html: true,
style: "instant", style: 'instant',
dependencies: ["title"], dependencies: ['title'],
displayNames: { displayNames: {
"downloadVideo": "下载视频", 'downloadVideo': '下载视频',
"batchDownload": "批量下载", 'batchDownload': '批量下载'
}, }
}, },
downloadDanmaku: { downloadDanmaku: {
path: "download-danmaku.min.js", path: 'download-danmaku.min.js',
dependencies: [ dependencies: [
"title", 'title',
"videoInfo", 'videoInfo',
"danmakuConverter", 'danmakuConverter'
], ],
displayNames: { displayNames: {
"downloadDanmaku": "下载弹幕", 'downloadDanmaku': '下载弹幕'
}, }
}, },
danmakuConverter: { danmakuConverter: {
path: "danmaku-converter.min.js" path: 'danmaku-converter.min.js'
}, },
videoInfo: { videoInfo: {
path: "video-info.min.js", path: 'video-info.min.js'
}, },
about: { about: {
path: "about.min.js", path: 'about.min.js',
html: true, html: true,
style: "important", style: 'important',
displayNames: { displayNames: {
"about": "关于", 'about': '关于'
} }
}, },
customControlBackground: { customControlBackground: {
path: "custom-control-background.min.js", path: 'custom-control-background.min.js',
style: { style: {
key: "customControlBackgroundStyle", key: 'customControlBackgroundStyle',
condition: () => settings.customControlBackgroundOpacity > 0, condition: () => settings.customControlBackgroundOpacity > 0
}, },
displayNames: { displayNames: {
customControlBackground: "控制栏着色", customControlBackground: '控制栏着色',
customControlBackgroundOpacity: "不透明度", customControlBackgroundOpacity: '不透明度'
}, }
}, },
useDefaultPlayerMode: { useDefaultPlayerMode: {
path: "default-player-mode.min.js", path: 'default-player-mode.min.js',
displayNames: { displayNames: {
useDefaultPlayerMode: "使用默认播放器模式", useDefaultPlayerMode: '使用默认播放器模式',
defaultPlayerMode: "默认播放器模式", defaultPlayerMode: '默认播放器模式',
autoLightOff: "播放时自动关灯", autoLightOff: '播放时自动关灯',
applyPlayerModeOnPlay: "播放时应用模式", applyPlayerModeOnPlay: '播放时应用模式'
}, },
dropdown: { dropdown: {
key: "defaultPlayerMode", key: 'defaultPlayerMode',
items: ["常规", "宽屏", "网页全屏", "全屏"], items: ['常规', '宽屏', '网页全屏', '全屏']
}, }
}, },
useDefaultVideoQuality: { useDefaultVideoQuality: {
path: "default-video-quality.min.js", path: 'default-video-quality.min.js',
displayNames: { displayNames: {
useDefaultVideoQuality: "使用默认视频画质", useDefaultVideoQuality: '使用默认视频画质',
defaultVideoQuality: "画质设定", defaultVideoQuality: '画质设定'
}, },
dropdown: { dropdown: {
key: "defaultVideoQuality", key: 'defaultVideoQuality',
items: ["1080P60", "1080P+", "1080P", "720P60", "720P", "480P", "360P", "自动"], items: ['1080P60', '1080P+', '1080P', '720P60', '720P', '480P', '360P', '自动']
}, }
}, },
comboLike: { comboLike: {
path: "combo-like.min.js", path: 'combo-like.min.js',
displayNames: { displayNames: {
comboLike: "素质三连触摸支持", comboLike: '素质三连触摸支持'
}, }
}, },
autoContinue: { autoContinue: {
path: "auto-continue.min.js", path: 'auto-continue.min.js',
displayNames: { displayNames: {
autoContinue: "自动从历史记录点播放", autoContinue: '自动从历史记录点播放',
allowJumpContinue: "允许跨集跳转", allowJumpContinue: '允许跨集跳转'
}, }
}, },
expandDescription: { expandDescription: {
path: "expand-description.min.js", path: 'expand-description.min.js',
style: "instant", style: 'instant',
displayNames: { displayNames: {
expandDescription: "自动展开视频简介" expandDescription: '自动展开视频简介'
} }
}, },
defaultDanmakuSettingsStyle: { defaultDanmakuSettingsStyle: {
path: "default-danmaku-settings.min.css", path: 'default-danmaku-settings.min.css'
}, },
useDefaultDanmakuSettings: { useDefaultDanmakuSettings: {
path: "default-danmaku-settings.min.js", path: 'default-danmaku-settings.min.js',
styles: [ styles: [
{ {
key: "defaultDanmakuSettingsStyle", key: 'defaultDanmakuSettingsStyle',
condition: () => settings.rememberDanmakuSettings, condition: () => settings.rememberDanmakuSettings
}, }
], ],
displayNames: { displayNames: {
useDefaultDanmakuSettings: "使用默认弹幕设置", useDefaultDanmakuSettings: '使用默认弹幕设置',
enableDanmaku: "开启弹幕", enableDanmaku: '开启弹幕',
rememberDanmakuSettings: "记住弹幕设置", rememberDanmakuSettings: '记住弹幕设置'
}, }
}, },
skipChargeList: { skipChargeList: {
path: "skip-charge-list.min.js", path: 'skip-charge-list.min.js',
style: "instant", style: 'instant',
displayNames: { displayNames: {
skipChargeList: "跳过充电鸣谢", skipChargeList: '跳过充电鸣谢'
} }
}, },
playerLayout: { playerLayout: {
path: "default-player-layout.min.js", path: 'default-player-layout.min.js',
displayNames: { displayNames: {
useDefaultPlayerLayout: "指定播放器布局", useDefaultPlayerLayout: '指定播放器布局',
defaultPlayerLayout: "视频区布局", defaultPlayerLayout: '视频区布局',
defaultBangumiLayout: "番剧区布局", defaultBangumiLayout: '番剧区布局'
}, },
dropdown: [ dropdown: [
{ {
key: "defaultPlayerLayout", key: 'defaultPlayerLayout',
items: ["旧版", "新版"] items: ['旧版', '新版']
}, },
{ {
key: "defaultBangumiLayout", key: 'defaultBangumiLayout',
items: ["旧版", "新版"] items: ['旧版', '新版']
}, }
], ]
}, },
compactLayout: { compactLayout: {
path: "compact-layout.min.js", path: 'compact-layout.min.js',
style: true, style: true,
displayNames: { displayNames: {
compactLayout: "首页使用紧凑布局", compactLayout: '首页使用紧凑布局'
} }
}, },
medalHelper: { medalHelper: {
path: "medal-helper.min.js", path: 'medal-helper.min.js',
html: true, html: true,
style: "instant", style: 'instant',
displayNames: { displayNames: {
medalHelper: "直播勋章快速更换" medalHelper: '直播勋章快速更换'
} }
}, },
showDeadVideoTitle: { showDeadVideoTitle: {
path: "show-dead-video-title.min.js", path: 'show-dead-video-title.min.js',
displayNames: { displayNames: {
showDeadVideoTitle: "显示失效视频信息", showDeadVideoTitle: '显示失效视频信息',
useBiliplusRedirect: "失效视频重定向", useBiliplusRedirect: '失效视频重定向'
}, }
}, },
autoPlay: { autoPlay: {
path: "auto-play.min.js", path: 'auto-play.min.js',
displayNames: { displayNames: {
autoPlay: "自动播放视频", autoPlay: '自动播放视频'
} }
}, },
useCommentStyle: { useCommentStyle: {
path: "comment.min.js", path: 'comment.min.js',
style: "important", style: 'important',
displayNames: { displayNames: {
useCommentStyle: "简化评论区", useCommentStyle: '简化评论区'
}, }
}, },
title: { title: {
path: "title.min.js", path: 'title.min.js',
displayNames: { displayNames: {
filenameFormat: "文件命名格式", filenameFormat: '文件命名格式'
}, }
}, },
imageResolution: { imageResolution: {
path: "image-resolution.min.js", path: 'image-resolution.min.js',
displayNames: { displayNames: {
imageResolution: "高分辨率图片", imageResolution: '高分辨率图片'
}, }
}, },
biliplusRedirect: { biliplusRedirect: {
path: "biliplus-redirect.min.js", path: 'biliplus-redirect.min.js',
displayNames: { displayNames: {
biliplusRedirect: "BiliPlus跳转支持", biliplusRedirect: 'BiliPlus跳转支持'
} }
}, },
framePlayback: { framePlayback: {
path: "frame-playback.min.js", path: 'frame-playback.min.js',
style: "instant", style: 'instant',
html: true, html: true,
displayNames: { displayNames: {
framePlayback: "启用逐帧调整", framePlayback: '启用逐帧调整'
}, }
}, },
downloadAudio: { downloadAudio: {
path: "download-audio.min.js", path: 'download-audio.min.js',
displayNames: { displayNames: {
downloadAudio: "下载音频", downloadAudio: '下载音频'
}, }
}, },
i18nEnglish: { i18nEnglish: {
path: "i18n.en-US.min.js", path: 'i18n.en-US.min.js',
alwaysPreview: true, alwaysPreview: true
}, },
i18nJapanese: { i18nJapanese: {
path: "i18n.ja-JP.min.js", path: 'i18n.ja-JP.min.js',
alwaysPreview: true, alwaysPreview: true
}, },
i18nTraditionalChinese: { i18nTraditionalChinese: {
path: "i18n.zh-TW.min.js", path: 'i18n.zh-TW.min.js',
alwaysPreview: true, alwaysPreview: true
}, },
i18nGerman: { i18nGerman: {
path: "i18n.de-DE.min.js", path: 'i18n.de-DE.min.js',
alwaysPreview: true, alwaysPreview: true
}, },
i18n: { i18n: {
path: "i18n.min.js", path: 'i18n.min.js',
alwaysPreview: true, alwaysPreview: true,
style: "important", style: 'important',
displayNames: { displayNames: {
i18n: "界面翻译", i18n: '界面翻译',
i18nLanguage: "语言", i18nLanguage: '语言',
i18nEnglish: "英语翻译模块", i18nEnglish: '英语翻译模块',
i18nJapanese: "日语翻译模块", i18nJapanese: '日语翻译模块',
i18nGerman: "德语翻译模块", i18nGerman: '德语翻译模块',
i18nTraditionalChinese: "繁体翻译模块", i18nTraditionalChinese: '繁体翻译模块'
}, },
dropdown: { dropdown: {
key: "i18nLanguage", key: 'i18nLanguage',
// items: Object.keys(languageCodeMap), // items: Object.keys(languageCodeMap),
items: [`日本語`, `English`], items: [`日本語`, `English`]
}, }
}, },
playerFocus: { playerFocus: {
path: "player-focus.min.js", path: 'player-focus.min.js',
displayNames: { displayNames: {
playerFocus: "自动定位到播放器", playerFocus: '自动定位到播放器',
playerFocusOffset: "定位偏移量", playerFocusOffset: '定位偏移量'
}, }
}, },
simplifyLiveroom: { simplifyLiveroom: {
path: "simplify-liveroom.min.js", path: 'simplify-liveroom.min.js',
style: "important", style: 'important',
displayNames: { displayNames: {
simplifyLiveroom: "简化直播间" simplifyLiveroom: '简化直播间'
}, }
}, },
oldTweets: { oldTweets: {
path: "old-tweets.min.js", path: 'old-tweets.min.js',
displayNames: { displayNames: {
oldTweets: "旧版动态跳转支持", oldTweets: '旧版动态跳转支持'
}, }
}, },
customNavbar: { customNavbar: {
path: "custom-navbar.min.js", path: 'custom-navbar.min.js',
style: "instant", style: 'instant',
html: true, html: true,
displayNames: { displayNames: {
customNavbar: "使用自定义顶栏", customNavbar: '使用自定义顶栏',
customNavbarFill: "主题色填充", customNavbarFill: '主题色填充',
customNavbarShadow: "投影", customNavbarShadow: '投影',
customNavbarCompact: "紧凑布局", customNavbarCompact: '紧凑布局',
customNavbarBlur: "背景模糊", customNavbarBlur: '背景模糊',
customNavbarBlurOpacity: "模糊层不透明度", customNavbarBlurOpacity: '模糊层不透明度',
allNavbarFill: "填充其他顶栏", allNavbarFill: '填充其他顶栏'
}, }
}, },
favoritesRedirect: { favoritesRedirect: {
path: "favorites-redirect.min.js", path: 'favorites-redirect.min.js',
displayNames: { displayNames: {
favoritesRedirect: "收藏夹视频重定向", favoritesRedirect: '收藏夹视频重定向'
} }
}, },
outerWatchlater: { outerWatchlater: {
path: "outer-watchlater.min.js", path: 'outer-watchlater.min.js',
style: "important", style: 'important',
displayNames: { displayNames: {
outerWatchlater: "外置稍后再看", outerWatchlater: '外置稍后再看'
}, }
}, },
playerShadow: { playerShadow: {
path: "player-shadow.min.js", path: 'player-shadow.min.js',
displayNames: { displayNames: {
playerShadow: "播放器投影", playerShadow: '播放器投影'
}, }
}, },
narrowDanmaku: { narrowDanmaku: {
path: "narrow-danmaku.min.js", path: 'narrow-danmaku.min.js',
displayNames: { displayNames: {
narrowDanmaku: "强制保留弹幕栏", narrowDanmaku: '强制保留弹幕栏'
}, }
}, },
hideOldEntry: { hideOldEntry: {
path: "hide-old-entry.min.js", path: 'hide-old-entry.min.js',
displayNames: { displayNames: {
hideOldEntry: "隐藏返回旧版", hideOldEntry: '隐藏返回旧版'
}, }
}, },
batchDownload: { batchDownload: {
path: "batch-download.min.js", path: 'batch-download.min.js'
}, },
slip: { slip: {
path: "slip.min.js", path: 'slip.min.js',
displayNames: { displayNames: {
slip: "Slip.js" slip: 'Slip.js'
}, }
}, },
debounce: { debounce: {
path: "debounce.min.js", path: 'debounce.min.js',
displayNames: { displayNames: {
slip: "debounce.js" slip: 'debounce.js'
}, }
}, },
videoScreenshot: { videoScreenshot: {
path: "screenshot.min.js", path: 'screenshot.min.js',
style: true, style: true,
displayNames: { displayNames: {
videoScreenshot: "启用视频截图", videoScreenshot: '启用视频截图'
}, },
dependencies: [ dependencies: [
"title", 'title'
], ]
}, },
hideBangumiReviews: { hideBangumiReviews: {
path: "hide-bangumi-reviews.min.js", path: 'hide-bangumi-reviews.min.js',
displayNames: { displayNames: {
hideBangumiReviews: "隐藏番剧点评", hideBangumiReviews: '隐藏番剧点评'
}
}, },
noLiveAutoplay: {
path: 'no-live-autoplay.min.js',
displayNames: {
noLiveAutoplay: '禁止直播首页自动播放',
hideHomeLive: '隐藏首页推荐直播',
}
}, },
}; noMiniVideoAutoplay: {
const resourceManifest = Resource.manifest;; path: 'no-mini-video-autoplay.min.js',
displayNames: {
noMiniVideoAutoplay: '禁止小视频自动播放',
}
},
}
const resourceManifest = Resource.manifest
;
class StyleManager class StyleManager
{ {
constructor(resources) constructor(resources)

View File

@ -1,605 +1,617 @@
Resource.manifest = { Resource.manifest = {
style: { style: {
path: "style.min.css", path: 'style.min.css'
}, },
oldStyle: { oldStyle: {
path: "old.min.css", path: 'old.min.css'
}, },
scrollbarStyle: { scrollbarStyle: {
path: "scrollbar.min.css", path: 'scrollbar.min.css'
}, },
darkStyle: { darkStyle: {
path: "dark.min.css", path: 'dark.min.css',
alwaysPreview: true, alwaysPreview: true
}, },
darkStyleImportant: { darkStyleImportant: {
path: "dark-important.min.css", path: 'dark-important.min.css',
alwaysPreview: true, alwaysPreview: true
}, },
darkStyleNavBar: { darkStyleNavBar: {
path: "dark-navbar.min.css", path: 'dark-navbar.min.css',
alwaysPreview: true, alwaysPreview: true
}, },
touchPlayerStyle: { touchPlayerStyle: {
path: "touch-player.min.css", path: 'touch-player.min.css'
}, },
navbarOverrideStyle: { navbarOverrideStyle: {
path: "override-navbar.min.css", path: 'override-navbar.min.css'
}, },
noBannerStyle: { noBannerStyle: {
path: "no-banner.min.css", path: 'no-banner.min.css'
}, },
imageViewerStyle: { imageViewerStyle: {
path: "image-viewer.min.css", path: 'image-viewer.min.css'
}, },
imageViewerHtml: { imageViewerHtml: {
path: "image-viewer.min.html", path: 'image-viewer.min.html'
}, },
iconsStyle: { iconsStyle: {
path: "icons.min.css", path: 'icons.min.css'
}, },
settingsSideBar: { settingsSideBar: {
path: "settings-side-bar.min.js", path: 'settings-side-bar.min.js'
}, },
textValidate: { textValidate: {
path: "text-validate.min.js", path: 'text-validate.min.js'
}, },
themeColors: { themeColors: {
path: "theme-colors.min.js", path: 'theme-colors.min.js'
}, },
settingsTooltipStyle: { settingsTooltipStyle: {
path: "settings-tooltip.min.css", path: 'settings-tooltip.min.css'
}, },
settingsTooltipJapanese: { settingsTooltipJapanese: {
path: "settings-tooltip.ja-JP.min.js", path: 'settings-tooltip.ja-JP.min.js'
}, },
settingsTooltipChinese: { settingsTooltipChinese: {
path: "settings-tooltip.zh-CN.min.js", path: 'settings-tooltip.zh-CN.min.js'
}, },
settingsTooltipEnglish: { settingsTooltipEnglish: {
path: "settings-tooltip.en-US.min.js", path: 'settings-tooltip.en-US.min.js'
}, },
settingsTooltip: { settingsTooltip: {
path: "settings-tooltip.loader.min.js", path: 'settings-tooltip.loader.min.js',
dependencies: [ dependencies: [
"settingsTooltipStyle" 'settingsTooltipStyle'
], ]
}, },
settingsSearch: { settingsSearch: {
path: "settings-search.min.js", path: 'settings-search.min.js'
}, },
guiSettings: { guiSettings: {
path: "gui-settings.min.js", path: 'gui-settings.min.js',
html: true, html: true,
style: "instant", style: 'instant',
dependencies: [ dependencies: [
"textValidate", 'textValidate',
"settingsSideBar", 'settingsSideBar',
"themeColors", 'themeColors',
"settingsTooltip", 'settingsTooltip',
"settingsSearch", 'settingsSearch'
], ],
styles: [ styles: [
{ {
key: "iconsStyle", key: 'iconsStyle',
important: true, important: true
}, }
], ],
displayNames: { displayNames: {
guiSettings: "设置", guiSettings: '设置',
blurSettingsPanel: "模糊设置面板背景", blurSettingsPanel: '模糊设置面板背景',
clearCache: "清除缓存", clearCache: '清除缓存',
settingsTooltip: "设置项帮助", settingsTooltip: '设置项帮助',
settingsSearch: "搜索设置", settingsSearch: '搜索设置',
sideBarOffset: "侧栏垂直偏移量", sideBarOffset: '侧栏垂直偏移量'
}, }
}, },
useDarkStyle: { useDarkStyle: {
path: "dark-styles.min.js", path: 'dark-styles.min.js',
alwaysPreview: true, alwaysPreview: true,
styles: [ styles: [
"darkStyle", 'darkStyle',
"scrollbarStyle", 'scrollbarStyle',
{ {
key: "darkStyleNavBar", key: 'darkStyleNavBar',
important: true, important: true,
condition() condition () {
{ return !settings.useNewStyle && ($('#banner_link').length === 0 ||
return !settings.useNewStyle && ($("#banner_link").length === 0 || $('#banner_link').length > 0 &&
$("#banner_link").length > 0 &&
settings.overrideNavBar && settings.overrideNavBar &&
!settings.showBanner); !settings.showBanner)
} }
}, },
{ {
key: "darkStyleImportant", key: 'darkStyleImportant',
important: true, important: true,
condition: () => true, condition: () => true
}, }
], ],
displayNames: { displayNames: {
useDarkStyle: "夜间模式", useDarkStyle: '夜间模式'
}, }
}, },
tweetsStyle: { tweetsStyle: {
path: "tweets.min.css", path: 'tweets.min.css'
}, },
useNewStyle: { useNewStyle: {
path: "new-styles.min.js", path: 'new-styles.min.js',
dependencies: [ dependencies: [
"style", 'style',
"oldStyle", 'oldStyle'
], ],
styles: [ styles: [
"tweetsStyle", 'tweetsStyle',
{ {
key: "scrollbarStyle", key: 'scrollbarStyle',
condition: () => document.URL !== `https://h.bilibili.com/`, condition: () => document.URL !== `https://h.bilibili.com/`
}, }
], ],
displayNames: { displayNames: {
useNewStyle: "样式调整", useNewStyle: '样式调整',
blurBackgroundOpacity: "顶栏(对横幅)透明度", blurBackgroundOpacity: '顶栏(对横幅)透明度'
}, }
}, },
hideBanner: { hideBanner: {
path: "hide-banner.min.js", path: 'hide-banner.min.js',
style: true, style: true,
displayNames: { displayNames: {
hideBanner: "隐藏顶部横幅", hideBanner: '隐藏顶部横幅'
}, }
}, },
touchNavBar: { touchNavBar: {
path: "touch-navbar.min.js", path: 'touch-navbar.min.js',
displayNames: { displayNames: {
touchNavBar: "顶栏触摸优化", touchNavBar: '顶栏触摸优化'
}, }
}, },
touchVideoPlayer: { touchVideoPlayer: {
path: "touch-player.min.js", path: 'touch-player.min.js',
styles: [ styles: [
"touchPlayerStyle", 'touchPlayerStyle'
], ],
displayNames: { displayNames: {
touchVideoPlayer: "播放器触摸支持", touchVideoPlayer: '播放器触摸支持',
touchVideoPlayerAnimation: "启用实验性动画效果", touchVideoPlayerAnimation: '启用实验性动画效果',
touchVideoPlayerDoubleTapControl: "启用双击控制", touchVideoPlayerDoubleTapControl: '启用双击控制'
}, }
}, },
expandDanmakuList: { expandDanmakuList: {
path: "expand-danmaku.min.js", path: 'expand-danmaku.min.js',
displayNames: { displayNames: {
expandDanmakuList: "自动展开弹幕列表", expandDanmakuList: '自动展开弹幕列表'
}, }
}, },
removeAds: { removeAds: {
path: "remove-promotions.min.js", path: 'remove-promotions.min.js',
style: "instant", style: 'instant',
displayNames: { displayNames: {
removeAds: "删除广告", removeAds: '删除广告'
}, }
}, },
watchLaterRedirect: { watchLaterRedirect: {
path: "watchlater.min.js", path: 'watchlater.min.js',
displayNames: { displayNames: {
watchLaterRedirect: "稍后再看重定向", watchLaterRedirect: '稍后再看重定向'
}, }
}, },
hideTopSearch: { hideTopSearch: {
path: "hide-top-search.min.js", path: 'hide-top-search.min.js',
displayNames: { displayNames: {
hideTopSearch: "隐藏搜索推荐", hideTopSearch: '隐藏搜索推荐'
}, }
}, },
harunaScale: { harunaScale: {
path: "haruna-scale.min.js", path: 'haruna-scale.min.js',
displayNames: { displayNames: {
harunaScale: "缩放直播看板娘", harunaScale: '缩放直播看板娘'
}, }
}, },
removeLiveWatermark: { removeLiveWatermark: {
path: "remove-watermark.min.js", path: 'remove-watermark.min.js',
displayNames: { displayNames: {
removeLiveWatermark: "删除直播水印", removeLiveWatermark: '删除直播水印'
}, }
}, },
fullTweetsTitle: { fullTweetsTitle: {
path: "full-tweets-title.min.js", path: 'full-tweets-title.min.js',
style: "instant", style: 'instant',
displayNames: { displayNames: {
fullTweetsTitle: "展开动态标题", fullTweetsTitle: '展开动态标题'
}, }
}, },
fullPageTitle: { fullPageTitle: {
path: "full-page-title.min.js", path: 'full-page-title.min.js',
style: "instant", style: 'instant',
displayNames: { displayNames: {
fullPageTitle: "展开选集标题", fullPageTitle: '展开选集标题'
}, }
}, },
viewCover: { viewCover: {
path: "view-cover.min.js", path: 'view-cover.min.js',
dependencies: [ dependencies: [
"imageViewerHtml", 'imageViewerHtml',
"videoInfo", 'videoInfo',
"title", 'title'
], ],
styles: [ styles: [
"imageViewerStyle", 'imageViewerStyle'
], ],
displayNames: { displayNames: {
viewCover: "查看封面", viewCover: '查看封面'
}, }
}, },
notifyNewVersion: { notifyNewVersion: {
path: "notify-new-version.min.js", path: 'notify-new-version.min.js',
displayNames: { displayNames: {
notifyNewVersion: "检查更新", notifyNewVersion: '检查更新'
}, }
}, },
toast: { toast: {
path: "toast.min.js", path: 'toast.min.js',
style: "instant", style: 'instant',
displayNames: { displayNames: {
toast: "显示消息", toast: '显示消息',
toastInternalError: "显示内部错误消息", toastInternalError: '显示内部错误消息'
}, }
}, },
removeVideoTopMask: { removeVideoTopMask: {
path: "remove-top-mask.min.js", path: 'remove-top-mask.min.js',
displayNames: { displayNames: {
removeVideoTopMask: "删除视频标题层", removeVideoTopMask: '删除视频标题层'
}, }
}, },
blurVideoControl: { blurVideoControl: {
path: "blur-video-control.min.js", path: 'blur-video-control.min.js',
style: "instant", style: 'instant',
displayNames: { displayNames: {
blurVideoControl: "模糊视频控制栏背景", blurVideoControl: '模糊视频控制栏背景'
}, }
}, },
darkSchedule: { darkSchedule: {
path: "dark-schedule.min.js", path: 'dark-schedule.min.js',
displayNames: { displayNames: {
darkSchedule: "夜间模式计划时段", darkSchedule: '夜间模式计划时段',
darkScheduleStart: "起始时间", darkScheduleStart: '起始时间',
darkScheduleEnd: "结束时间", darkScheduleEnd: '结束时间'
}, }
}, },
clearCache: { clearCache: {
path: "clear-cache.min.js", path: 'clear-cache.min.js',
displayNames: { displayNames: {
useCache: "启用缓存", useCache: '启用缓存'
}, }
}, },
downloadVideo: { downloadVideo: {
path: "download-video.min.js", path: 'download-video.min.js',
html: true, html: true,
style: "instant", style: 'instant',
dependencies: ["title"], dependencies: ['title'],
displayNames: { displayNames: {
"downloadVideo": "下载视频", 'downloadVideo': '下载视频',
"batchDownload": "批量下载", 'batchDownload': '批量下载'
}, }
}, },
downloadDanmaku: { downloadDanmaku: {
path: "download-danmaku.min.js", path: 'download-danmaku.min.js',
dependencies: [ dependencies: [
"title", 'title',
"videoInfo", 'videoInfo',
"danmakuConverter", 'danmakuConverter'
], ],
displayNames: { displayNames: {
"downloadDanmaku": "下载弹幕", 'downloadDanmaku': '下载弹幕'
}, }
}, },
danmakuConverter: { danmakuConverter: {
path: "danmaku-converter.min.js" path: 'danmaku-converter.min.js'
}, },
videoInfo: { videoInfo: {
path: "video-info.min.js", path: 'video-info.min.js'
}, },
about: { about: {
path: "about.min.js", path: 'about.min.js',
html: true, html: true,
style: "important", style: 'important',
displayNames: { displayNames: {
"about": "关于", 'about': '关于'
} }
}, },
customControlBackground: { customControlBackground: {
path: "custom-control-background.min.js", path: 'custom-control-background.min.js',
style: { style: {
key: "customControlBackgroundStyle", key: 'customControlBackgroundStyle',
condition: () => settings.customControlBackgroundOpacity > 0, condition: () => settings.customControlBackgroundOpacity > 0
}, },
displayNames: { displayNames: {
customControlBackground: "控制栏着色", customControlBackground: '控制栏着色',
customControlBackgroundOpacity: "不透明度", customControlBackgroundOpacity: '不透明度'
}, }
}, },
useDefaultPlayerMode: { useDefaultPlayerMode: {
path: "default-player-mode.min.js", path: 'default-player-mode.min.js',
displayNames: { displayNames: {
useDefaultPlayerMode: "使用默认播放器模式", useDefaultPlayerMode: '使用默认播放器模式',
defaultPlayerMode: "默认播放器模式", defaultPlayerMode: '默认播放器模式',
autoLightOff: "播放时自动关灯", autoLightOff: '播放时自动关灯',
applyPlayerModeOnPlay: "播放时应用模式", applyPlayerModeOnPlay: '播放时应用模式'
}, },
dropdown: { dropdown: {
key: "defaultPlayerMode", key: 'defaultPlayerMode',
items: ["常规", "宽屏", "网页全屏", "全屏"], items: ['常规', '宽屏', '网页全屏', '全屏']
}, }
}, },
useDefaultVideoQuality: { useDefaultVideoQuality: {
path: "default-video-quality.min.js", path: 'default-video-quality.min.js',
displayNames: { displayNames: {
useDefaultVideoQuality: "使用默认视频画质", useDefaultVideoQuality: '使用默认视频画质',
defaultVideoQuality: "画质设定", defaultVideoQuality: '画质设定'
}, },
dropdown: { dropdown: {
key: "defaultVideoQuality", key: 'defaultVideoQuality',
items: ["1080P60", "1080P+", "1080P", "720P60", "720P", "480P", "360P", "自动"], items: ['1080P60', '1080P+', '1080P', '720P60', '720P', '480P', '360P', '自动']
}, }
}, },
comboLike: { comboLike: {
path: "combo-like.min.js", path: 'combo-like.min.js',
displayNames: { displayNames: {
comboLike: "素质三连触摸支持", comboLike: '素质三连触摸支持'
}, }
}, },
autoContinue: { autoContinue: {
path: "auto-continue.min.js", path: 'auto-continue.min.js',
displayNames: { displayNames: {
autoContinue: "自动从历史记录点播放", autoContinue: '自动从历史记录点播放',
allowJumpContinue: "允许跨集跳转", allowJumpContinue: '允许跨集跳转'
}, }
}, },
expandDescription: { expandDescription: {
path: "expand-description.min.js", path: 'expand-description.min.js',
style: "instant", style: 'instant',
displayNames: { displayNames: {
expandDescription: "自动展开视频简介" expandDescription: '自动展开视频简介'
} }
}, },
defaultDanmakuSettingsStyle: { defaultDanmakuSettingsStyle: {
path: "default-danmaku-settings.min.css", path: 'default-danmaku-settings.min.css'
}, },
useDefaultDanmakuSettings: { useDefaultDanmakuSettings: {
path: "default-danmaku-settings.min.js", path: 'default-danmaku-settings.min.js',
styles: [ styles: [
{ {
key: "defaultDanmakuSettingsStyle", key: 'defaultDanmakuSettingsStyle',
condition: () => settings.rememberDanmakuSettings, condition: () => settings.rememberDanmakuSettings
}, }
], ],
displayNames: { displayNames: {
useDefaultDanmakuSettings: "使用默认弹幕设置", useDefaultDanmakuSettings: '使用默认弹幕设置',
enableDanmaku: "开启弹幕", enableDanmaku: '开启弹幕',
rememberDanmakuSettings: "记住弹幕设置", rememberDanmakuSettings: '记住弹幕设置'
}, }
}, },
skipChargeList: { skipChargeList: {
path: "skip-charge-list.min.js", path: 'skip-charge-list.min.js',
style: "instant", style: 'instant',
displayNames: { displayNames: {
skipChargeList: "跳过充电鸣谢", skipChargeList: '跳过充电鸣谢'
} }
}, },
playerLayout: { playerLayout: {
path: "default-player-layout.min.js", path: 'default-player-layout.min.js',
displayNames: { displayNames: {
useDefaultPlayerLayout: "指定播放器布局", useDefaultPlayerLayout: '指定播放器布局',
defaultPlayerLayout: "视频区布局", defaultPlayerLayout: '视频区布局',
defaultBangumiLayout: "番剧区布局", defaultBangumiLayout: '番剧区布局'
}, },
dropdown: [ dropdown: [
{ {
key: "defaultPlayerLayout", key: 'defaultPlayerLayout',
items: ["旧版", "新版"] items: ['旧版', '新版']
}, },
{ {
key: "defaultBangumiLayout", key: 'defaultBangumiLayout',
items: ["旧版", "新版"] items: ['旧版', '新版']
}, }
], ]
}, },
compactLayout: { compactLayout: {
path: "compact-layout.min.js", path: 'compact-layout.min.js',
style: true, style: true,
displayNames: { displayNames: {
compactLayout: "首页使用紧凑布局", compactLayout: '首页使用紧凑布局'
} }
}, },
medalHelper: { medalHelper: {
path: "medal-helper.min.js", path: 'medal-helper.min.js',
html: true, html: true,
style: "instant", style: 'instant',
displayNames: { displayNames: {
medalHelper: "直播勋章快速更换" medalHelper: '直播勋章快速更换'
} }
}, },
showDeadVideoTitle: { showDeadVideoTitle: {
path: "show-dead-video-title.min.js", path: 'show-dead-video-title.min.js',
displayNames: { displayNames: {
showDeadVideoTitle: "显示失效视频信息", showDeadVideoTitle: '显示失效视频信息',
useBiliplusRedirect: "失效视频重定向", useBiliplusRedirect: '失效视频重定向'
}, }
}, },
autoPlay: { autoPlay: {
path: "auto-play.min.js", path: 'auto-play.min.js',
displayNames: { displayNames: {
autoPlay: "自动播放视频", autoPlay: '自动播放视频'
} }
}, },
useCommentStyle: { useCommentStyle: {
path: "comment.min.js", path: 'comment.min.js',
style: "important", style: 'important',
displayNames: { displayNames: {
useCommentStyle: "简化评论区", useCommentStyle: '简化评论区'
}, }
}, },
title: { title: {
path: "title.min.js", path: 'title.min.js',
displayNames: { displayNames: {
filenameFormat: "文件命名格式", filenameFormat: '文件命名格式'
}, }
}, },
imageResolution: { imageResolution: {
path: "image-resolution.min.js", path: 'image-resolution.min.js',
displayNames: { displayNames: {
imageResolution: "高分辨率图片", imageResolution: '高分辨率图片'
}, }
}, },
biliplusRedirect: { biliplusRedirect: {
path: "biliplus-redirect.min.js", path: 'biliplus-redirect.min.js',
displayNames: { displayNames: {
biliplusRedirect: "BiliPlus跳转支持", biliplusRedirect: 'BiliPlus跳转支持'
} }
}, },
framePlayback: { framePlayback: {
path: "frame-playback.min.js", path: 'frame-playback.min.js',
style: "instant", style: 'instant',
html: true, html: true,
displayNames: { displayNames: {
framePlayback: "启用逐帧调整", framePlayback: '启用逐帧调整'
}, }
}, },
downloadAudio: { downloadAudio: {
path: "download-audio.min.js", path: 'download-audio.min.js',
displayNames: { displayNames: {
downloadAudio: "下载音频", downloadAudio: '下载音频'
}, }
}, },
i18nEnglish: { i18nEnglish: {
path: "i18n.en-US.min.js", path: 'i18n.en-US.min.js',
alwaysPreview: true, alwaysPreview: true
}, },
i18nJapanese: { i18nJapanese: {
path: "i18n.ja-JP.min.js", path: 'i18n.ja-JP.min.js',
alwaysPreview: true, alwaysPreview: true
}, },
i18nTraditionalChinese: { i18nTraditionalChinese: {
path: "i18n.zh-TW.min.js", path: 'i18n.zh-TW.min.js',
alwaysPreview: true, alwaysPreview: true
}, },
i18nGerman: { i18nGerman: {
path: "i18n.de-DE.min.js", path: 'i18n.de-DE.min.js',
alwaysPreview: true, alwaysPreview: true
}, },
i18n: { i18n: {
path: "i18n.min.js", path: 'i18n.min.js',
alwaysPreview: true, alwaysPreview: true,
style: "important", style: 'important',
displayNames: { displayNames: {
i18n: "界面翻译", i18n: '界面翻译',
i18nLanguage: "语言", i18nLanguage: '语言',
i18nEnglish: "英语翻译模块", i18nEnglish: '英语翻译模块',
i18nJapanese: "日语翻译模块", i18nJapanese: '日语翻译模块',
i18nGerman: "德语翻译模块", i18nGerman: '德语翻译模块',
i18nTraditionalChinese: "繁体翻译模块", i18nTraditionalChinese: '繁体翻译模块'
}, },
dropdown: { dropdown: {
key: "i18nLanguage", key: 'i18nLanguage',
// items: Object.keys(languageCodeMap), // items: Object.keys(languageCodeMap),
items: [`日本語`, `English`], items: [`日本語`, `English`]
}, }
}, },
playerFocus: { playerFocus: {
path: "player-focus.min.js", path: 'player-focus.min.js',
displayNames: { displayNames: {
playerFocus: "自动定位到播放器", playerFocus: '自动定位到播放器',
playerFocusOffset: "定位偏移量", playerFocusOffset: '定位偏移量'
}, }
}, },
simplifyLiveroom: { simplifyLiveroom: {
path: "simplify-liveroom.min.js", path: 'simplify-liveroom.min.js',
style: "important", style: 'important',
displayNames: { displayNames: {
simplifyLiveroom: "简化直播间" simplifyLiveroom: '简化直播间'
}, }
}, },
oldTweets: { oldTweets: {
path: "old-tweets.min.js", path: 'old-tweets.min.js',
displayNames: { displayNames: {
oldTweets: "旧版动态跳转支持", oldTweets: '旧版动态跳转支持'
}, }
}, },
customNavbar: { customNavbar: {
path: "custom-navbar.min.js", path: 'custom-navbar.min.js',
style: "instant", style: 'instant',
html: true, html: true,
displayNames: { displayNames: {
customNavbar: "使用自定义顶栏", customNavbar: '使用自定义顶栏',
customNavbarFill: "主题色填充", customNavbarFill: '主题色填充',
customNavbarShadow: "投影", customNavbarShadow: '投影',
customNavbarCompact: "紧凑布局", customNavbarCompact: '紧凑布局',
customNavbarBlur: "背景模糊", customNavbarBlur: '背景模糊',
customNavbarBlurOpacity: "模糊层不透明度", customNavbarBlurOpacity: '模糊层不透明度',
allNavbarFill: "填充其他顶栏", allNavbarFill: '填充其他顶栏'
}, }
}, },
favoritesRedirect: { favoritesRedirect: {
path: "favorites-redirect.min.js", path: 'favorites-redirect.min.js',
displayNames: { displayNames: {
favoritesRedirect: "收藏夹视频重定向", favoritesRedirect: '收藏夹视频重定向'
} }
}, },
outerWatchlater: { outerWatchlater: {
path: "outer-watchlater.min.js", path: 'outer-watchlater.min.js',
style: "important", style: 'important',
displayNames: { displayNames: {
outerWatchlater: "外置稍后再看", outerWatchlater: '外置稍后再看'
}, }
}, },
playerShadow: { playerShadow: {
path: "player-shadow.min.js", path: 'player-shadow.min.js',
displayNames: { displayNames: {
playerShadow: "播放器投影", playerShadow: '播放器投影'
}, }
}, },
narrowDanmaku: { narrowDanmaku: {
path: "narrow-danmaku.min.js", path: 'narrow-danmaku.min.js',
displayNames: { displayNames: {
narrowDanmaku: "强制保留弹幕栏", narrowDanmaku: '强制保留弹幕栏'
}, }
}, },
hideOldEntry: { hideOldEntry: {
path: "hide-old-entry.min.js", path: 'hide-old-entry.min.js',
displayNames: { displayNames: {
hideOldEntry: "隐藏返回旧版", hideOldEntry: '隐藏返回旧版'
}, }
}, },
batchDownload: { batchDownload: {
path: "batch-download.min.js", path: 'batch-download.min.js'
}, },
slip: { slip: {
path: "slip.min.js", path: 'slip.min.js',
displayNames: { displayNames: {
slip: "Slip.js" slip: 'Slip.js'
}, }
}, },
debounce: { debounce: {
path: "debounce.min.js", path: 'debounce.min.js',
displayNames: { displayNames: {
slip: "debounce.js" slip: 'debounce.js'
}, }
}, },
videoScreenshot: { videoScreenshot: {
path: "screenshot.min.js", path: 'screenshot.min.js',
style: true, style: true,
displayNames: { displayNames: {
videoScreenshot: "启用视频截图", videoScreenshot: '启用视频截图'
}, },
dependencies: [ dependencies: [
"title", 'title'
], ]
}, },
hideBangumiReviews: { hideBangumiReviews: {
path: "hide-bangumi-reviews.min.js", path: 'hide-bangumi-reviews.min.js',
displayNames: { displayNames: {
hideBangumiReviews: "隐藏番剧点评", hideBangumiReviews: '隐藏番剧点评'
}
}, },
noLiveAutoplay: {
path: 'no-live-autoplay.min.js',
displayNames: {
noLiveAutoplay: '禁止直播首页自动播放',
hideHomeLive: '隐藏首页推荐直播',
}
}, },
}; noMiniVideoAutoplay: {
export const resourceManifest = Resource.manifest; path: 'no-mini-video-autoplay.min.js',
displayNames: {
noMiniVideoAutoplay: '禁止小视频自动播放',
}
},
}
export const resourceManifest = Resource.manifest

File diff suppressed because one or more lines are too long

1
min/no-live-autoplay.min.js vendored Normal file
View File

@ -0,0 +1 @@
(()=>{return(e,i)=>{(async()=>{const e=document.URL.replace(window.location.search,"");if(e!=="https://live.bilibili.com/"&&e!=="https://live.bilibili.com/index.html"){return}SpinQuery.condition(()=>document.querySelector(".component-ctnr video"),e=>!e.paused,()=>{const e=document.querySelector(".bilibili-live-player-video-controller-start-btn>button");e.click()})})()}})();

1
min/no-mini-video-autoplay.min.js vendored Normal file
View File

@ -0,0 +1 @@
(()=>{return(r,e)=>{}})();

View File

@ -98,6 +98,9 @@
<checkbox indent="0" key="oldTweets" dependencies=""></checkbox> <checkbox indent="0" key="oldTweets" dependencies=""></checkbox>
<checkbox indent="0" key="i18n" dependencies=""></checkbox> <checkbox indent="0" key="i18n" dependencies=""></checkbox>
<dropdown indent="1" key="i18nLanguage" dependencies="i18n"></dropdown> <dropdown indent="1" key="i18nLanguage" dependencies="i18n"></dropdown>
<checkbox indent="0" key="noLiveAutoplay" dependencies=""></checkbox>
<checkbox indent="1" key="hideHomeLive" dependencies="noLiveAutoplay"></checkbox>
<checkbox indent="0" key="noMiniVideoAutoplay" dependencies=""></checkbox>
<category icon="touch">触摸</category> <category icon="touch">触摸</category>
<checkbox indent="0" key="touchNavBar" dependencies=""></checkbox> <checkbox indent="0" key="touchNavBar" dependencies=""></checkbox>
<checkbox indent="0" key="comboLike" dependencies=""></checkbox> <checkbox indent="0" key="comboLike" dependencies=""></checkbox>

10
utils/no-live-autoplay.js Normal file
View File

@ -0,0 +1,10 @@
(async () => {
const url = document.URL.replace(window.location.search, '');
if (url !== 'https://live.bilibili.com/' && url !== 'https://live.bilibili.com/index.html') {
return;
}
SpinQuery.condition(() => document.querySelector('.component-ctnr video'), (video) => !video.paused, () => {
const button = document.querySelector('.bilibili-live-player-video-controller-start-btn>button');
button.click();
});
})();

14
utils/no-live-autoplay.ts Normal file
View File

@ -0,0 +1,14 @@
(async () => {
const url = document.URL.replace(window.location.search, '')
if (url !== 'https://live.bilibili.com/' && url !== 'https://live.bilibili.com/index.html') {
return
}
SpinQuery.condition(
() => document.querySelector('.component-ctnr video'),
(video: HTMLVideoElement) => !video.paused,
() => {
const button = document.querySelector('.bilibili-live-player-video-controller-start-btn>button') as HTMLButtonElement
button.click()
}
)
})()

View File

View File