// ==UserScript== // @name 知乎修改器🤜持续更新🤛努力实现功能最全的知乎配置插件 // @namespace http://tampermonkey.net/ // @version 3.14.2 // @description 页面模块自定义隐藏,列表及回答内容过滤,保存浏览历史记录,推荐页内容缓存,列表种类和关键词强过滤并自动调用「不感兴趣」接口,屏蔽用户回答,回答视频下载,回答内容按照点赞数和评论数排序,设置自动收起所有长回答或自动展开所有回答,移除登录提示弹窗,设置过滤故事档案局和盐选科普回答等知乎官方账号回答,手动调节文字大小,切换主题及夜间模式调整,隐藏知乎热搜,列表添加标签种类,去除广告,设置购买链接显示方式,收藏夹内容导出为PDF,一键移除所有屏蔽选项,外链直接打开,更多功能请在插件里体验... // @compatible edge Violentmonkey // @compatible edge Tampermonkey // @compatible chrome Violentmonkey // @compatible chrome Tampermonkey // @compatible firefox Violentmonkey // @compatible firefox Tampermonkey // @author liuyubing // @match *://*.zhihu.com/* // @grant unsafeWindow // @grant GM_info // @grant GM_setValue // @grant GM_getValue // @run-at document-start // @downloadURL none // ==/UserScript== (function () { 'use strict'; const INNER_HTML = `
`; const INNER_CSS = `@font-face{font-family:'tp-icon';src:url('//at.alicdn.com/t/c/font_2324733_3w6h6fk5917.woff2?t=1670580424651') format('woff2'),url('//at.alicdn.com/t/c/font_2324733_3w6h6fk5917.woff?t=1670580424651') format('woff'),url('//at.alicdn.com/t/c/font_2324733_3w6h6fk5917.ttf?t=1670580424651') format('truetype')}.hover-style{cursor:pointer}.hover-style:hover{color:#056de8 !important}.ctz-icon{font-family:'tp-icon' !important;font-size:16px;font-style:normal;-webkit-font-smoothing:antialiased;-webkit-text-stroke-width:.2px;-moz-osx-font-smoothing:grayscale}#CTZ_OPEN_BUTTON{position:fixed;left:0;top:100px;font-size:18px;height:48px;line-height:48px;text-align:center;width:48px;border-radius:0 8px 8px 0;background:rgba(255,255,255,0.6);cursor:pointer;user-select:none;transform:translate(-30px);transition:transform .5s;z-index:200}#CTZ_OPEN_BUTTON:hover{transform:translate(0)}#CTZ_DIALOG_MAIN{position:fixed;top:50%;left:50%;transform:translate(-50%, -50%);width:500px;height:500px;border-radius:4px;background:#fff;z-index:201;flex-direction:column;font-size:14px;box-shadow:5px 5px 10px #ababab,-5px -5px 10px #ffffff;border:1px solid #ccc}#CTZ_DIALOG_MAIN input[type='text'],#CTZ_DIALOG_MAIN input[type='number']{border-radius:4px}#CTZ_DIALOG_MAIN label{cursor:pointer}#CTZ_DIALOG_MAIN label:hover{color:#056de8 !important}#CTZ_DIALOG_MAIN a{text-decoration:none;color:inherit}.ctz-header{height:28px;line-height:28px;padding:0 8px;text-align:center}.ctz-version{padding-left:8px;font-size:12px}#CTZ_CLOSE_DIALOG{float:right;cursor:pointer}#CTZ_CLOSE_DIALOG:hover{color:#056de8 !important}.ctz-menu-top{height:28px;border-bottom:1px solid #bbb;display:flex}.ctz-menu-top a{flex:1;line-height:28px;text-align:center}.ctz-menu-top a:hover{border-bottom:4px solid #bbb}.ctz-menu-top a.target{border-bottom:4px solid #121212}.ctz-content{flex:1;display:flex;overflow:hidden}.ctz-content>div{width:100%}.ctz-content ::-webkit-scrollbar{width:8px;height:24px;background:#eee}.ctz-content ::-webkit-scrollbar-track{border-radius:0}.ctz-content ::-webkit-scrollbar-thumb{border-radius:0;background:#bbb;transition:all .2s;border-radius:8px}.ctz-content ::-webkit-scrollbar-thumb:hover{background-color:rgba(95,95,95,0.7)}.ctz-content-left{width:100px;border-right:1px solid #bbb}.ctz-content-left a{padding:0 8px;height:32px;line-height:32px;display:flex;font-size:14px}.ctz-content-left a:hover{background:#ededed}.ctz-content-right{flex:1;overflow-y:auto;scroll-behavior:smooth;padding:0 8px}.ctz-content-right>div:nth-of-type(2n){background:#efefef;padding:0 8px;margin:0 -8px}.ctz-content-right>div:nth-of-type(2n) .ctz-set-title>span{background:#efefef}.ctz-set-content>div{padding-bottom:8px;margin-bottom:8px;border-bottom:1px dashed #ddd}.ctz-set-content>div:last-of-type{border-bottom:0}.ctz-footer{height:28px;line-height:28px;padding:0 16px;border-top:1px solid #bbb;font-size:14px;color:rgba(0,0,0,0.65)}.ctz-footer a{margin-right:16px;cursor:pointer}.ctz-footer a:hover{color:#056de8 !important}.ctz-dark{display:flex;height:28px;align-items:center}.ctz-desc,.ctz-commit{color:#666;font-size:12px}.ctz-desc{padding-left:4px}.ctz-label{font-size:14px;line-height:24px;font-weight:bold}.ctz-label::after{content:':'}.ctz-set-title{font-weight:bold;height:32px;line-height:32px;font-size:16px;overflow:hidden;position:relative}.ctz-set-title::before{content:'----------------------------------------------------------------------';font-weight:normal}.ctz-set-title>span{position:absolute;padding:4px 8px;left:50%;top:50%;transform:translate(-50%, -50%);background:#ffffff;word-break:keep-all;white-space:pre}#CTZ_BACKGROUND{display:grid;grid-template-columns:30% 30% 30%;gap:8px}#CTZ_BACKGROUND label{position:relative}#CTZ_BACKGROUND label input{position:absolute;left:10px;top:18px}#CTZ_BACKGROUND label input:checked+div{border-color:#056de8 !important}#CTZ_BACKGROUND label div{font-size:14px;border-radius:8px;line-height:50px;padding-left:30px}#CTZ_SET_BASIS_CONFIG .ctz-config-buttons{width:80%;margin-bottom:8px;display:grid;grid-template-columns:50% 50%;gap:8px}#CTZ_SET_BASIS_CONFIG .ctz-content{width:80%}#CTZ_SET_BASIS_CONFIG .ctz-content textarea{flex:1;margin-right:8px;border-radius:4px}[name='inputFilterWord']{height:24px;width:300px;border-radius:4px}#CTZ_FILTER_WORDS{display:flex;flex-wrap:wrap;cursor:default}#CTZ_FILTER_WORDS>span{padding:2px 4px;border-radius:2px;font-size:12px;background-color:#999;margin:4px 4px 0 0;color:#fff;display:flex;align-items:center}#CTZ_FILTER_WORDS>span>i{font-size:14px;margin-left:2px;cursor:pointer}#CTZ_FILTER_WORDS>span>i:hover{color:#056de8 !important}.ctz-flex-wrap{display:flex;flex-wrap:wrap}.ctz-flex-wrap label{margin-right:4px;display:flex;align-items:center}.ctz-flex-wrap label input[type='radio']{margin:0 4px 0 0}.ctz-button{padding:4px 8px;font-size:14px;border-radius:2px;background:#ddd;border:1px solid #bbb;text-align:center}.ctz-button:hover{background:#eee}.ctz-not-interested{color:#999;font-size:12px;border:1px solid #999;border-radius:4px;padding:0 4px;margin-left:6px}.ctz-not-interested:hover{border-color:#056de8 !important;color:#056de8 !important}.ctz-video-download,.ctz-loading{position:absolute;top:20px;left:20px;font-size:24px;color:rgba(255,255,255,0.9);cursor:pointer}.ctz-loading{animation:loadingAnimation 2s infinite}@keyframes loadingAnimation{from{transform:rotate(0)}to{transform:rotate(360deg)}}#CTZ-BLOCK-LIST{display:flex;flex-wrap:wrap;margin:0 -8px;padding:8px}.ctz-black-item{height:30px;line-height:30px;box-sizing:content-box;padding:4px;margin:0 8px 8px 0;display:flex;align-items:center;background:#fff;border-radius:4px;border:1px solid #bbb}.ctz-black-item img{width:30px;height:30px;margin-right:4px}.ctz-black-item .ctz-remove-block:hover,.ctz-black-item a:hover{color:#056de8}.ctz-block-box>button,.ctz-button-block{padding:2px 8px;color:#666;border:1px solid #666;border-radius:4px;font-size:12px;margin-left:12px}.ctz-block-box>button:hover,.ctz-button-block:hover{border-color:#0461cf;color:#0461cf}.ctz-button-red{color:#e55353 !important;border:1px solid #e55353 !important}.ctz-button-red:hover{color:#ec7259 !important;border:1px solid #ec7259 !important}.ctz-preview{box-sizing:border-box;position:fixed;height:100%;width:100%;top:0;left:0;overflow-y:auto;z-index:200;background-color:rgba(18,18,18,0.4)}.ctz-preview div{display:flex;justify-content:center;align-items:center;min-height:100%;width:100%}.ctz-preview div img{cursor:zoom-out;user-select:none}#CTZ_TITLE_ICO label{margin:0 4px 4px 0}#CTZ_TITLE_ICO label input{display:none}#CTZ_TITLE_ICO label input:checked+img{border:4px solid #0461cf}#CTZ_TITLE_ICO label img{width:40px;height:40px;border:4px solid transparent}.ctz-label-tag{font-weight:normal;padding:2px 4px;border-radius:4px;font-size:12px;color:#ffffff}.ctz-label-tag-Answer{background:#ec7259}.ctz-label-tag-ZVideo{background:#12c2e9}.ctz-label-tag-Article{background:#00965e}.ctz-question-time{color:#999 !important;font-size:14px !important;font-weight:normal !important;line-height:24px}.ctz-stop-scroll{height:100% !important;overflow:hidden !important}#CTZ_DEFAULT_SELF>div{line-height:24px;margin-bottom:4px}#CTZ_DEFAULT_SELF>div a{color:#056de8}#CTZ_DEFAULT_SELF>div a:hover{color:#bbb}.ctz-export-collection-box{float:right;text-align:right}.ctz-export-collection-box button{font-size:16px}.ctz-export-collection-box p{font-size:14px;color:#666;margin:4px 0}.ctz-pdf-dialog-item{padding:12px;border-bottom:1px solid #eee;margin:12px;background:#ffffff}.ctz-pdf-dialog-title{margin:0 0 1.4em;font-size:20px;font-weight:bold}.ctz-pdf-box-content{width:100%;background:#ffffff}.ctz-pdf-view{width:100%;background:#ffffff;word-break:break-all;white-space:pre-wrap;font-size:14px;overflow-x:hidden}.ctz-pdf-view a{color:#0066ff}.ctz-pdf-view img{max-width:100%}.ctz-pdf-view p{margin:1.4em 0}.ctz-unlock,.ctz-lock,.ctz-lock-mask{display:none;color:#999;cursor:pointer}.ctz-unlock,.ctz-lock{margin:4px}.ctz-lock-mask{position:absolute;width:100%;height:100%;background:rgba(0,0,0,0.4);z-index:198}.position-suspensionSearch,.position-suspensionFind,.position-suspensionUser{position:fixed;z-index:100}.position-suspensionSearch:hover .ctz-unlock,.position-suspensionFind:hover .ctz-unlock,.position-suspensionUser:hover .ctz-unlock,.Topstory-container .TopstoryTabs:hover .ctz-unlock{display:block}.position-suspensionSearch.ctz-move-this .ctz-unlock,.position-suspensionFind.ctz-move-this .ctz-unlock,.position-suspensionUser.ctz-move-this .ctz-unlock,.Topstory-container .TopstoryTabs.ctz-move-this .ctz-unlock{display:none !important}.position-suspensionSearch.ctz-move-this .ctz-lock,.position-suspensionFind.ctz-move-this .ctz-lock,.position-suspensionUser.ctz-move-this .ctz-lock,.Topstory-container .TopstoryTabs.ctz-move-this .ctz-lock,.position-suspensionSearch.ctz-move-this .ctz-lock-mask,.position-suspensionFind.ctz-move-this .ctz-lock-mask,.position-suspensionUser.ctz-move-this .ctz-lock-mask,.Topstory-container .TopstoryTabs.ctz-move-this .ctz-lock-mask{display:block}.position-suspensionSearch.ctz-move-this .ctz-lock,.position-suspensionFind.ctz-move-this .ctz-lock,.position-suspensionUser.ctz-move-this .ctz-lock,.Topstory-container .TopstoryTabs.ctz-move-this .ctz-lock{z-index:199;color:#cccccc}.position-suspensionFind{display:flex;flex-direction:column;margin:0 !important}.position-suspensionFind .Tabs-item{padding:0 !important;margin-bottom:4px}.position-suspensionFind .Tabs-item .Tabs-link{padding:8px !important;border-radius:4px}.position-suspensionFind .Tabs-item .Tabs-link::after{content:'' !important;display:none !important}.position-suspensionUser{width:fit-content !important;margin:0 !important;display:flex;flex-direction:column}.position-suspensionUser .AppHeader-messages,.position-suspensionUser .AppHeader-notifications{margin-right:0 !important;margin-bottom:12px}.position-suspensionUser .AppHeader-login,.position-suspensionUser .AppHeader-login~button{display:none}.AppHeader-SearchBar{flex:1}.position-suspensionSearch{line-height:30px;border-radius:16px;width:20px;transition:width .5s}.position-suspensionSearch .SearchBar-input-focus .ctz-search-pick-up{display:none}.position-suspensionSearch.focus{width:300px}.position-suspensionSearch.focus>form,.position-suspensionSearch.focus>button,.position-suspensionSearch.focus .ctz-search-pick-up{display:block}.position-suspensionSearch.focus .ctz-search-icon{display:none}.position-suspensionSearch.focus:hover{width:324px}.position-suspensionSearch .ctz-search-icon,.position-suspensionSearch .ctz-search-pick-up{cursor:pointer;color:#0066ff}.position-suspensionSearch .ctz-search-icon:hover,.position-suspensionSearch .ctz-search-pick-up:hover{color:#005ce6}.position-suspensionSearch .ctz-search-pick-up{font-size:24px;margin-left:4px}.position-suspensionSearch>form,.position-suspensionSearch>button,.position-suspensionSearch .ctz-search-pick-up{display:none}.position-suspensionSearch .ctz-search-icon{display:block}.key-shadow{border:1px solid #eee;border-radius:4px;box-shadow:rgba(0,0,0,0.06) 0 1px 1px 0;font-weight:600;min-width:26px;height:26px;padding:0px 6px;text-align:center}.ctz-zhihu-key a{color:#056de8}.ctz-zhihu-key a:hover{color:#bbb}.ContentItem-title div{display:inline}#CTZ_SET_HISTORY_LIST .ctz-set-content,#CTZ_SET_HISTORY_VIEW .ctz-set-content{word-break:break-all}#CTZ_SET_HISTORY_LIST .ctz-set-content a,#CTZ_SET_HISTORY_VIEW .ctz-set-content a{cursor:pointer}#CTZ_SET_HISTORY_LIST .ctz-set-content a:hover,#CTZ_SET_HISTORY_VIEW .ctz-set-content a:hover{color:#056de8 !important}#CTZ-BUTTON-SYNC-BLOCK{height:30px;width:88px;position:relative}#CTZ-BUTTON-SYNC-BLOCK i{top:2px;left:28px}`; /** 获取元素 */ const dom = (n) => document.querySelector(n); /** 使用 Id 获取元素 */ const domById = (id) => document.getElementById(id); /** 获取所有元素 */ const domA = (n) => document.querySelectorAll(n); /** 创建元素 */ const domC = (name, attrObjs) => { const node = document.createElement(name); Object.keys(attrObjs).forEach((key) => (node[key] = attrObjs[key])); return node; }; /** 查找父级元素 */ const domP = (node, attrName, attrValue) => { const nodeP = node.parentElement; if (!attrName || !attrValue) { return nodeP; } if (nodeP === document.body) { return undefined; } const attrValueList = (nodeP.getAttribute(attrName) || '').split(' '); return attrValueList.includes(attrValue) ? nodeP : domP(nodeP, attrName, attrValue); }; /** 判断是否返回空字符串 */ const fnReturnStr = (str, isHave = false, strFalse = '') => (isHave ? str : strFalse); /** 带前缀的 log */ const fnLog = (...str) => console.log('%c「修改器」', 'color: green;font-weight: bold;', ...str); /** 注入样式文件的方法 */ const fnInitDomStyle = (id, innerHTML) => { const element = domById(id); element ? (element.innerHTML = innerHTML) : document.head.appendChild(domC('style', { id, type: 'text/css', innerHTML })); }; /** 元素替换内容 */ const fnDomReplace = (node, attrObjs) => { if (!node) return; Object.keys(attrObjs).forEach((key) => (node[key] = attrObjs[key])); }; const HTML_HOOTS = ['www.zhihu.com', 'zhuanlan.zhihu.com']; /** 设置弹窗 */ const ID_DIALOG = 'CTZ_DIALOG_MAIN'; /** 屏蔽词 ID */ const ID_FILTER_WORDS = 'CTZ_FILTER_WORDS'; /** 黑名单列表 ID */ const ID_BLOCK_LIST = 'CTZ-BLOCK-LIST'; /** 同步黑名单 按钮 ID */ const ID_BUTTON_SYNC_BLOCK = 'CTZ-BUTTON-SYNC-BLOCK'; /** INPUT 点击元素类名 */ const CLASS_INPUT_CLICK = 'ctz-i'; /** INPUT 修改操作元素类名 */ const CLASS_INPUT_CHANGE = 'ctz-i-change'; /** 黑名单元素删除按钮类名 */ const CLASS_REMOVE_BLOCK = 'ctz-remove-block'; /** 不感兴趣外置按钮 */ const CLASS_NOT_INTERESTED = 'ctz-not-interested'; /** 回答收起展开插入的类名 */ const OB_CLASS_FOLD = { on: 'ctz-fold-open', off: 'ctz-fold-close', }; /** 背景色设置 */ const BACKGROUND_CONFIG = { '#ffffff': { name: '默认', opacity: '', color: '#333' }, '#ffe4c4': { name: '护眼红', opacity: '#fff4e7', color: '#333' }, '#FAF9DE': { name: '杏仁黄', opacity: '#fdfdf2', color: '#333' }, '#cce8cf': { name: '青草绿', opacity: '#e5f1e7', color: '#333' }, '#EAEAEF': { name: '极光灰', opacity: '#f3f3f5', color: '#333' }, '#E9EBFE': { name: '葛巾紫', opacity: '#f2f3fb', color: '#333' }, '#121212': { name: '夜间模式', opacity: '', color: '#ffffff' }, '#1f1f1f': { name: '夜间护眼一', opacity: '', color: '#f7f9f9' }, '#15202b': { name: '夜间护眼二', opacity: '', color: '#f7f9f9' }, '#272822': { name: '夜间护眼三', opacity: '', color: '#f7f9f9' }, }; const BACKGROUND_DARK_COLORS = { '#121212': { b2: '#333333', t1: '#fff', t2: '#999' }, '#15202b': { b2: '#38444d', t1: '#f7f9f9', t2: '#161d23' }, '#1f1f1f': { b2: '#303030', t1: '#f7f9f9', t2: '#161d23' }, '#272822': { b2: '#383932', t1: '#f7f9f9', t2: '#161d23' }, }; const FOOTER_HTML = `Github⭐` + `GreasyFork` + `` + `打开关闭编辑器快捷键:>` + `(Shift+.)` + ``; /** 隐藏内容模块默认配置 */ const CONFIG_HIDDEN_DEFAULT = { /** 隐藏回答页面右侧内容 */ hiddenAnswerRightFooter: true, /** 隐藏回答下方悬浮操作条 */ hiddenFixedActions: false, /** 隐藏logo */ hiddenLogo: false, /** 隐藏header */ hiddenHeader: false, /** 隐藏顶部滚动header */ hiddenHeaderScroll: false, /** 隐藏列表回答操作 */ hiddenItemActions: false, /** 隐藏回答操作文字 */ hiddenAnswerText: false, /** 隐藏问题分享 */ hiddenQuestionShare: false, /** 隐藏问题话题 */ hiddenQuestionTag: false, /** 隐藏问题操作栏 */ hiddenQuestionActions: false, /** 隐藏赞赏按钮 */ hiddenReward: false, /** 隐藏专栏关联话题 */ hiddenZhuanlanTag: false, /** 隐藏问题列表图片 */ hiddenListImg: false, /** 隐藏阅读全文文字 */ hiddenReadMoreText: true, /** 隐藏广告 */ hiddenAD: true, /** 隐藏问题列表回答内容 */ hiddenAnswers: false, /** 隐藏专栏下方操作条 */ hiddenZhuanlanActions: false, /** 隐藏专栏标题图片 */ hiddenZhuanlanTitleImage: false, /** 隐藏热门热度值 */ hiddenHotItemMetrics: false, /** 隐藏热门排序 */ hiddenHotItemIndex: false, /** 热门"新"隐藏元素 */ hiddenHotItemLabel: false, /** 隐藏详情回答人头像 */ hiddenDetailAvatar: false, /** 隐藏详情回答人简介 */ hiddenDetailBadge: false, /** 隐藏详情回答人下赞同数 */ hiddenDetailVoters: false, /** 隐藏详情回答人姓名 */ hiddenDetailName: false, /** 隐藏详情回答人关注按钮 */ hiddenDetailFollow: true, /** 隐藏首页问题列表切换模块 */ hiddenHomeTab: false, /** 隐藏问题关注和被浏览数 */ hiddenQuestionSide: false, /** 隐藏关注问题按钮 */ hiddenQuestionFollowing: false, /** 隐藏写回答按钮 */ hiddenQuestionAnswer: false, /** 隐藏邀请回答按钮 */ hiddenQuestionInvite: false, /** 隐藏搜索栏知乎热搜 */ hiddenSearchBoxTopSearch: false, /** 隐藏搜索页知乎热搜 */ hiddenSearchPageTopSearch: false, /** 隐藏搜索页知乎指南 */ hiddenSearchPageFooter: false, /** 隐藏专栏悬浮分享按钮 */ hiddenZhuanlanShare: false, /** 隐藏专栏悬浮赞同按钮 */ hiddenZhuanlanVoters: false, /** 列表[亲自答]隐藏标签 */ hiddenListAnswerInPerson: false, /** 隐藏关注列表关注人操作栏 */ hiddenFollowAction: false, /** 隐藏关注列表用户信息 */ hiddenFollowChooseUser: false, /** 隐藏信息栏关于作者 */ hiddenAnswerRightFooterAnswerAuthor: false, /** 隐藏信息栏被收藏次数 */ hiddenAnswerRightFooterFavorites: false, /** 隐藏信息栏相关问题 */ hiddenAnswerRightFooterRelatedQuestions: false, /** 隐藏信息栏相关推荐 */ hiddenAnswerRightFooterContentList: false, /** 隐藏信息栏知乎指南 */ hiddenAnswerRightFooterFooter: false, /** 隐藏618红包链接(临时补充) */ hidden618HongBao: true, /** 隐藏文章作者关注按钮 */ hiddenZhuanlanFollowButton: false, /** 隐藏文章作者头像 */ hiddenZhuanlanAvatarWrapper: false, /** 隐藏文章作者姓名 */ hiddenZhuanlanAuthorInfoHead: false, /** 隐藏文章作者简介 */ hiddenZhuanlanAuthorInfoDetail: false, /** 隐藏详情顶部专题收录标签 */ hiddenQuestionSpecial: false, /** 隐藏列表视频回答的内容 */ hiddenListVideoContent: false, /** 隐藏主页创作中心 */ hiddenHomeCreatorEntrance: false, /** 隐藏主页推荐关注 */ hiddenHomeRecommendFollow: false, /** 隐藏主页分类圆桌 */ hiddenHomeCategory: false, /** 隐藏主页更多分类 */ hiddenHomeCategoryMore: false, /** 隐藏主页知乎指南 */ hiddenHomeFooter: false, /** 隐藏回答内容操作栏 */ hiddenAnswerItemActions: false, /** 隐藏回答下方发布编辑时间 */ hiddenAnswerItemTime: false, /** 发现模块-隐藏首页 */ hiddenAppHeaderTabHome: false, /** 发现模块-隐藏知学堂 */ hiddenAppHeaderTabZhi: false, /** 发现模块-隐藏会员 */ hiddenAppHeaderTabVIP: false, /** 发现模块-隐藏发现 */ hiddenAppHeaderTabFind: false, /** 发现模块-隐藏等你来答 */ hiddenAppHeaderTabWaitingForYou: false, /** 隐藏全部问题列表切换模块 */ hiddenHomeListTab: false, /** 问题列表切换 - 隐藏关注 */ hiddenHomeListTabFollow: false, /** 问题列表切换 - 隐藏推荐 */ hiddenHomeListTabRecommend: false, /** 问题列表切换 - 隐藏热榜 */ hiddenHomeListTabHot: false, /** 问题列表切换 - 隐藏视频 */ hiddenHomeListTabVideo: false, /** 隐藏「好问题」按钮 */ hiddenQuestionGoodQuestion: false, /** 隐藏添加评论按钮 */ hiddenQuestionComment: false, /** 问题「...隐藏」按钮 */ hiddenQuestionMore: false, /** 隐藏不显示修改器唤醒图标 */ hiddenOpenButton: false, /** 回答操作 - 赞同按钮仅显示赞同数 */ justVoteNum: false, /** 回答操作 - 评论按钮仅显示评论数 */ justCommitNum: false, }; /** 屏蔽内容模块默认配置 */ const CONFIG_FILTER_DEFAULT = { /** 屏蔽知乎官方账号回答 */ removeZhihuOfficial: false, /** 屏蔽故事档案局回答 */ removeStoryAnswer: true, /** 屏蔽盐选科普回答 */ removeYanxuanAnswer: true, /** 屏蔽盐选推荐 */ removeYanxuanRecommend: true, /** 屏蔽盐选测评室 */ removeYanxuanCPRecommend: true, /** 屏蔽选自盐选专栏的回答 */ removeFromYanxuan: true, /** 屏蔽带有虚构内容的回答 */ removeUnrealAnswer: false, /** 屏蔽关注人赞同回答 */ removeFollowVoteAnswer: false, /** 屏蔽关注人赞同文章 */ removeFollowVoteArticle: false, /** 屏蔽关注人关注问题 */ removeFollowFQuestion: false, /** 屏蔽不再显示黑名单用户发布的内容 */ removeBlockUserContent: true, /** 屏蔽已屏蔽用户列表 */ removeBlockUserContentList: [], /** 屏蔽商业推广 */ removeItemAboutAD: false, /** 屏蔽文章 */ removeItemAboutArticle: false, /** 屏蔽视频 */ removeItemAboutVideo: false, /** 屏蔽列表提问 */ removeItemQuestionAsk: false, /** 关注列表过滤低于以下赞的内容 */ removeLessVote: false, /** 关注列表过滤低于以下赞的内容 */ lessVoteNumber: 100, /** 回答低赞内容屏蔽 */ removeLessVoteDetail: false, /** 回答详情屏蔽以下赞的内容 */ lessVoteNumberDetail: 100, /** 屏蔽匿名用户回答 */ removeAnonymousAnswer: false, /** 关注列表屏蔽自己的操作 */ removeMyOperateAtFollow: false, }; /** 悬浮模块默认配置 */ const CONFIG_SUSPENSION = { suspensionHomeTab: false, // 问题列表切换 suspensionHomeTabPo: 'left: 20px; top: 100px;', // 定位 suspensionHomeTabFixed: true, suspensionFind: false, // 顶部发现模块 suspensionFindPo: 'left: 10px; top: 380px;', suspensionFindFixed: true, suspensionSearch: false, // 搜索栏 suspensionSearchPo: 'left: 10px; top: 400px;', suspensionSearchFixed: true, suspensionUser: false, // 个人中心 suspensionUserPo: 'right: 60px; top: 100px;', suspensionUserFixed: true, suspensionPickUp: true, // 长回答和列表收起按钮 }; /** 极简模式配置 */ const CONFIG_SIMPLE = { hiddenAnswerRightFooter: true, hiddenFixedActions: true, hiddenLogo: true, hiddenHeader: true, hiddenHeaderScroll: true, hiddenItemActions: true, hiddenAnswerText: true, hiddenQuestionShare: true, hiddenQuestionTag: true, hiddenQuestionActions: true, hiddenReward: true, hiddenZhuanlanTag: true, hiddenListImg: true, hiddenReadMoreText: true, hiddenAD: true, hiddenAnswers: true, hiddenZhuanlanActions: true, hiddenZhuanlanTitleImage: true, hiddenHotItemMetrics: true, hiddenHotItemIndex: true, hiddenHotItemLabel: true, hiddenDetailAvatar: true, hiddenDetailBadge: true, hiddenDetailVoters: true, hiddenDetailName: true, hiddenDetailFollow: true, hiddenHomeTab: false, hiddenQuestionSide: true, hiddenQuestionFollowing: true, hiddenQuestionAnswer: true, hiddenQuestionInvite: true, hiddenSearchBoxTopSearch: true, hiddenSearchPageTopSearch: true, hiddenSearchPageFooter: true, hiddenZhuanlanShare: true, hiddenZhuanlanVoters: true, hiddenListAnswerInPerson: true, hiddenFollowAction: true, hiddenFollowChooseUser: true, hidden618HongBao: true, hiddenZhuanlanFollowButton: true, hiddenZhuanlanAvatarWrapper: true, hiddenZhuanlanAuthorInfoHead: true, hiddenZhuanlanAuthorInfoDetail: true, hiddenQuestionSpecial: true, hiddenListVideoContent: true, hiddenHomeCreatorEntrance: true, hiddenHomeRecommendFollow: true, hiddenHomeCategory: true, hiddenHomeCategoryMore: true, hiddenHomeFooter: true, removeZhihuOfficial: false, removeStoryAnswer: true, removeYanxuanAnswer: true, removeYanxuanRecommend: true, removeYanxuanCPRecommend: true, removeFromYanxuan: true, removeUnrealAnswer: false, removeFollowVoteAnswer: false, removeFollowVoteArticle: false, removeFollowFQuestion: false, removeBlockUserContent: true, removeItemAboutAD: false, removeItemAboutArticle: false, removeItemAboutVideo: false, removeItemQuestionAsk: false, removeLessVote: false, lessVoteNumber: 100, removeLessVoteDetail: false, lessVoteNumberDetail: 100, suspensionHomeTab: false, suspensionHomeTabPo: 'left: 20px; top: 100px;', suspensionHomeTabFixed: true, suspensionFind: false, suspensionFindPo: 'left: 10px; top: 380px;', suspensionFindFixed: true, suspensionSearch: true, suspensionSearchPo: 'left: 10px; top: 400px;', suspensionSearchFixed: true, suspensionUser: true, suspensionUserPo: 'right: 60px; top: 100px;', suspensionUserFixed: true, suspensionPickUp: true, answerOpen: 'off', showBlockUser: false, zoomImageType: '2', zoomImageSize: '200', showGIFinDialog: true, questionTitleTag: true, listOutPutNotInterested: true, fixedListItemMore: true, highlightOriginal: true, highlightListItem: true, listItemCreatedAndModifiedTime: true, answerItemCreatedAndModifiedTime: true, questionCreatedAndModifiedTime: true, articleCreateTimeToTop: true, linkShopping: '1', linkAnswerVideo: '1', hiddenAnswerItemActions: true, hiddenAnswerItemTime: true, }; /** 屏蔽关注列表关注人操作 */ const FILTER_FOLLOWER_OPERATE = [ { key: 'removeFollowVoteAnswer', rep: '赞同了回答' }, { key: 'removeFollowVoteArticle', rep: '赞同了文章' }, { key: 'removeFollowFQuestion', rep: '关注了问题' }, ]; /** 隐藏模块指向 */ const HIDDEN_DIRECITION = { /** 基础设置 */ CTZ_SET_BASIS: [ [{ value: 'hiddenAD', label: '广告' }], [ { value: 'hiddenLogo', label: 'logo' }, { value: 'hiddenHeader', label: '顶部悬浮模块' }, { value: 'hiddenHeaderScroll', label: '滚动顶部悬浮模块/问题名称' }, ], [ { value: 'hiddenAppHeaderTabHome', label: '发现模块-首页' }, { value: 'hiddenAppHeaderTabZhi', label: '发现模块-知学堂' }, { value: 'hiddenAppHeaderTabVIP', label: '发现模块-会员' }, { value: 'hiddenAppHeaderTabFind', label: '发现模块-发现' }, { value: 'hiddenAppHeaderTabWaitingForYou', label: '发现模块-等你来答' }, ], [ { value: 'hiddenAnswerText', label: '回答操作文字' }, { value: 'justVoteNum', label: '回答操作 - 赞同按钮仅显示赞同数' }, { value: 'justCommitNum', label: '回答操作 - 评论按钮仅显示评论数' }, ], ], /** 首页列表设置 */ CTZ_SET_LIST: [ [ { value: 'hiddenHomeCreatorEntrance', label: '创作中心' }, { value: 'hiddenHomeRecommendFollow', label: '推荐关注' }, { value: 'hiddenHomeCategory', label: '分类圆桌' }, { value: 'hiddenHomeCategoryMore', label: '更多分类' }, { value: 'hiddenHomeFooter', label: '知乎指南' }, ], [ { value: 'hiddenHomeListTab', label: '首页列表切换模块' }, { value: 'hiddenHomeListTabFollow', label: '首页列表切换 - 关注' }, { value: 'hiddenHomeListTabRecommend', label: '首页列表切换 - 推荐' }, { value: 'hiddenHomeListTabHot', label: '首页列表切换 - 热榜' }, { value: 'hiddenHomeListTabVideo', label: '首页列表切换 - 视频' }, ], [ { value: 'hiddenHotItemIndex', label: '热门排序编号' }, { value: 'hiddenHotItemLabel', label: '热门"新"元素' }, { value: 'hiddenHotItemMetrics', label: '热门热度值' }, ], [ { value: 'hiddenAnswers', label: '列表回答内容' }, { value: 'hiddenListVideoContent', label: '列表视频回答的内容' }, { value: 'hiddenItemActions', label: '列表回答操作' }, { value: 'hiddenListImg', label: '列表图片' }, { value: 'hiddenReadMoreText', label: '问题列表阅读全文文字' }, { value: 'hiddenListAnswerInPerson', label: '列表「亲自答」标签' }, ], [ { value: 'hiddenFollowAction', label: '关注列表关注人操作栏' }, { value: 'hiddenFollowChooseUser', label: '关注列表用户信息' }, ], [ { value: 'hiddenSearchBoxTopSearch', label: '搜索栏知乎热搜' }, { value: 'hiddenSearchPageTopSearch', label: '搜索页知乎热搜' }, { value: 'hiddenSearchPageFooter', label: '搜索页知乎指南' }, ], ], /** 回答详情设置 */ CTZ_SET_ANSWER: [ [ { value: 'hiddenQuestionTag', label: '问题话题' }, { value: 'hiddenQuestionShare', label: '问题分享' }, { value: 'hiddenQuestionGoodQuestion', label: '「好问题」按钮' }, { value: 'hiddenQuestionComment', label: '添加评论' }, { value: 'hiddenQuestionMore', label: '问题更多「...」按钮' }, { value: 'hiddenQuestionActions', label: '问题操作栏' }, { value: 'hiddenQuestionSpecial', label: '问题专题收录标签' }, { value: 'hiddenQuestionFollowing', label: '问题关注按钮' }, { value: 'hiddenQuestionAnswer', label: '问题写回答按钮' }, { value: 'hiddenQuestionInvite', label: '问题邀请回答按钮' }, ], [ { value: 'hiddenDetailAvatar', label: '回答人头像' }, { value: 'hiddenDetailName', label: '回答人姓名' }, { value: 'hiddenDetailBadge', label: '回答人简介' }, { value: 'hiddenDetailFollow', label: '回答人关注按钮' }, { value: 'hiddenDetailVoters', label: '回答人下赞同数' }, { value: 'hiddenQuestionSide', label: '问题关注和被浏览数' }, { value: 'hiddenFixedActions', label: '回答悬浮操作栏' }, { value: 'hiddenAnswerItemActions', label: '回答内容操作栏' }, { value: 'hiddenAnswerItemTime', label: '回答底部发布编辑时间' }, { value: 'hiddenReward', label: '赞赏按钮' }, { value: 'hidden618HongBao', label: '618红包链接' }, ], [ { value: 'hiddenAnswerRightFooter', label: '详情右侧信息栏' }, { value: 'hiddenAnswerRightFooterAnswerAuthor', label: '信息栏关于作者' }, { value: 'hiddenAnswerRightFooterFavorites', label: '信息栏被收藏次数' }, { value: 'hiddenAnswerRightFooterRelatedQuestions', label: '信息栏相关问题' }, { value: 'hiddenAnswerRightFooterContentList', label: '信息栏相关推荐' }, { value: 'hiddenAnswerRightFooterFooter', label: '信息栏知乎指南' }, ], ], /** 文章专栏设置 */ CTZ_SET_ARTICLE: [ [ { value: 'hiddenZhuanlanTag', label: '文章关联话题' }, { value: 'hiddenZhuanlanActions', label: '文章操作条' }, { value: 'hiddenZhuanlanTitleImage', label: '文章标题图片' }, { value: 'hiddenZhuanlanShare', label: '文章悬浮分享按钮' }, { value: 'hiddenZhuanlanVoters', label: '文章悬浮赞同按钮' }, { value: 'hiddenZhuanlanAvatarWrapper', label: '文章作者头像' }, { value: 'hiddenZhuanlanAuthorInfoHead', label: '文章作者姓名' }, { value: 'hiddenZhuanlanAuthorInfoDetail', label: '文章作者简介' }, { value: 'hiddenZhuanlanFollowButton', label: '文章作者关注按钮' }, ], ], }; /** 屏蔽带有标签的回答 */ const HIDDEN_ANSWER_TAG = { removeFromYanxuan: '盐选专栏', removeUnrealAnswer: '虚构创作', }; /** 屏蔽账号回答 */ const HIDDEN_ANSWER_ACCOUNT = { removeStoryAnswer: '故事档案局', removeYanxuanAnswer: '盐选科普', removeYanxuanRecommend: '盐选推荐', removeYanxuanCPRecommend: '盐选测评室', }; /** 网页标题图片集合 */ const ICO_URL = { zhihu: 'https://static.zhihu.com/heifetz/favicon.ico', github: 'https://github.githubassets.com/pinned-octocat.svg', juejin: 'https://lf3-cdn-tos.bytescm.com/obj/static/xitu_juejin_web//static/favicons/favicon-32x32.png', csdn: 'https://g.csdnimg.cn/static/logo/favicon32.ico', runoob: 'https://static.runoob.com/images/favicon.ico', vue: 'https://cli.vuejs.org/icons/apple-touch-icon-152x152.png', bilibili: 'https://www.bilibili.com/favicon.ico', lanhu: 'https://sso-cdn.lanhuapp.com/ssoweb/favicon.ico', yuque: 'https://mdn.alipayobjects.com/huamei_0prmtq/afts/img/A*vMxOQIh4KBMAAAAAAAAAAAAADvuFAQ/original', threeDM: 'https://bbs.3dmgame.com/favicon.ico', mailQQ: 'https://mail.qq.com/zh_CN/htmledition/images/favicon/qqmail_favicon_96h.png', mail163: 'https://mail.163.com/favicon.ico', weibo: 'https://weibo.com/favicon.ico', qzone: 'https://qzonestyle.gtimg.cn/aoi/img/logo/favicon.ico?max_age=31536000', }; /** 默认功能文案 */ const DEFAULT_FUNCTION = [ '外链直接打开