feat: block top search page ads (#1207)

close #1207
This commit is contained in:
Hakadao
2024-12-24 00:58:27 +08:00
parent 7fb5f26134
commit d41ad75e33
8 changed files with 35 additions and 2 deletions

View File

@@ -136,6 +136,10 @@ settings:
close_drawer_without_pressing_esc_again: 关闭抽屉时不用再次按 <kbd>Esc</kbd> 关闭
block_ads: 屏蔽广告
block_top_search_page_ads: 屏蔽 Bilibili 搜索页上方的广告
block_top_search_page_ads_desc: >
有时候,搜索结果上方的广告实际上是年末总结或年度报告。
如果你不想这些内容被误删除,请禁用此选项。
enable_video_preview: 启用视频预览功能(如果可以的话)
enable_video_ctrl_bar_on_video_card: 在视频卡片上显示视频控制栏

View File

@@ -136,6 +136,10 @@ settings:
close_drawer_without_pressing_esc_again: 關閉抽屜時不用再次按 <kbd>Esc</kbd> 關閉
block_ads: 封鎖廣告
block_top_search_page_ads: 封鎖 Bilibili 搜尋頁上方的廣告
block_top_search_page_ads_desc: >
有時候,搜尋結果上方的廣告實際上是年末總結、年度報告這些。
如果你不想這些內容被誤刪,請停用此選項。
enable_video_preview: 啟用影片預覽功能(如果可以的話)
enable_video_ctrl_bar_on_video_card: 在影片卡片上顯示影片控制欄

View File

@@ -136,6 +136,10 @@ settings:
close_drawer_without_pressing_esc_again: Close the drawer without pressing <kbd>Esc</kbd> again
block_ads: Block ads
block_top_search_page_ads: Block Bilibili top search page ads
block_top_search_page_ads_desc: >
Sometimes, the ads above search results are actually year-end summaries or annual reports.
If you don't want these to be accidentally removed, please disable this option.
enable_video_preview: Enable video preview feature (if possible)
enable_video_ctrl_bar_on_video_card: Display the video control bar on the video card

View File

@@ -135,6 +135,9 @@ settings:
close_drawer_without_pressing_esc_again: 閂櫃桶嗰陣唔使再撳多次 <kbd>Esc</kbd>
block_ads: 封鎖廣告
block_top_search_page_ads: 封鎖 Bilibili 搵嘢頁上方的廣告
block_top_search_page_ads_desc: >
有時喺搵嘢結果上高嘅廣告,其實係年結報告抑或週年報告嚟㗎。若然你唔想佢哋唔覺意俾人刪咗,就請你閂咗呢個選項啦。
enable_video_preview: 使用影片預覽功能(若然得嘅話)
enable_video_ctrl_bar_on_video_card: 喺影片卡片上顯示影片控制欄

View File

@@ -149,6 +149,9 @@ watch(() => settings.value.language, (newValue) => {
<SettingsItem :title="$t('settings.block_ads')">
<Radio v-model="settings.blockAds" />
</SettingsItem>
<SettingsItem :title="$t('settings.block_top_search_page_ads')" :desc="$t('settings.block_top_search_page_ads_desc')">
<Radio v-model="settings.blockTopSearchPageAds" />
</SettingsItem>
</SettingsItemGroup>
<SettingsItemGroup :title="$t('settings.group_video_card')">

View File

@@ -177,6 +177,21 @@ export function setupNecessarySettingsWatchers() {
document.documentElement.classList.remove('block-useless-contents')
}, { immediate: true })
/**
* 搜尋結果的上方的廣告,但有時是年末總結、年度報告這些
*/
const blockTopSearchPageAdsStyleEl = injectCSS(`
.activity-game-list {
display: none !important;
}
`)
watch(() => settings.value.blockTopSearchPageAds, () => {
if (settings.value.blockTopSearchPageAds)
document.documentElement.appendChild(blockTopSearchPageAdsStyleEl)
else
document.documentElement.removeChild(blockTopSearchPageAdsStyleEl)
}, { immediate: true })
watch(
() => settings.value.themeColor,
() => {

View File

@@ -28,6 +28,7 @@ export interface Settings {
closeDrawerWithoutPressingEscAgain: boolean
blockAds: boolean
blockTopSearchPageAds: boolean
enableVideoCtrlBarOnVideoCard: boolean
hoverVideoCardDelayed: boolean
@@ -119,6 +120,7 @@ export const originalSettings: Settings = {
closeDrawerWithoutPressingEscAgain: false,
blockAds: false,
blockTopSearchPageAds: false,
enableVideoPreview: true,
enableVideoCtrlBarOnVideoCard: false,

View File

@@ -8,8 +8,6 @@
.bili-video-card.is-rcmd:not(.enable-no-interest),
.ad-report,
.brand-ad-list,
// 搜尋結果的遊戲廣告
.activity-game-list,
// 视频页游戏卡片
.video-page-game-card-small,
// 大家围观的直播