// 知乎推荐内容屏蔽器
(function() {
'use strict';
// 屏蔽推荐 feed 中的内容
function blockRecommendations() {
// 检查是否在首页
if (!window.location.pathname.match(/^\/?$|^\/follow$/)) {
return;
}
// 获取当前激活的标签
const activeTab = document.querySelector('.Topstory-tabs .TopstoryTabs-link.is-active');
// 如果当前是"推荐"标签,隐藏所有内容
if (activeTab && activeTab.textContent.includes('推荐')) {
hideRecommendFeed();
}
// 隐藏推荐标签下的所有卡片中带有"推荐"标记的内容
hideRecommendedCards();
}
// 隐藏推荐 feed
function hideRecommendFeed() {
const feedList = document.querySelector('.Topstory-recommend .TopstoryMain');
if (feedList) {
feedList.style.display = 'none';
}
}
// 隐藏带有推荐标记的卡片
function hideRecommendedCards() {
// 隐藏首页推荐的内容项
const cards = document.querySelectorAll('.Card.TopstoryItem');
cards.forEach(card => {
// 检查是否有"推荐"来源标记
const sourceTag = card.querySelector('.FeedSource');
if (sourceTag && sourceTag.textContent.includes('推荐')) {
card.style.display = 'none';
}
});
// 隐藏整个推荐 feed 区域
const recommendSection = document.querySelector('[data-za-detail-view-path-module="TopstoryRecommend"]');
if (recommendSection) {
recommendSection.style.display = 'none';
}
}
// 自动切换到"关注"标签
function switchToFollowTab() {
// 只在首页执行
if (!window.location.pathname.match(/^\/?$/)) {
return;
}
const followTab = document.querySelector('.Topstory-tabs .TopstoryTabs-link[href="/follow"]');
if (followTab && !followTab.classList.contains('is-active')) {
followTab.click();
}
}
// 使用 MutationObserver 监听 DOM 变化
function observeDOM() {
const observer = new MutationObserver((mutations) => {
blockRecommendations();
});
observer.observe(document.body, {
childList: true,
subtree: true
});
}
// 页面加载完成后执行
function init() {
// 先尝试切换到关注标签
switchToFollowTab();
// 屏蔽推荐内容
blockRecommendations();
// 监听 DOM 变化以处理动态加载的内容
observeDOM();
}
// 确保 DOM 加载完成
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', init);
} else {
init();
}
// 同时也在 window.load 时再次执行,确保所有动态内容都被处理
window.addEventListener('load', () => {
setTimeout(init, 500);
});
})();