3.5.4.3更新: 细节优化...顺便提一下centbrowser更新版本到5.0.x了
更新3.5.3.7 增加控制台命令导出收藏的(专栏)文章为Excel文件

3.5.3.0重要更新: 优化知乎底层网络数据请求(拦截非必要的网络请求)

图示: 后台频繁的网络请求
简介

zhihu optimizer, Make Thing Better and Simpler
浏览器兼容测试: chrome 80+ 完美运行; Firefox未作兼容测试;edge96以上版本部分功能异常
Tampermonkey版本: 4.x +
(建议使用尽可能高版本的chrome | chromium浏览器和Tampermonkey扩展)
推荐使用浏览器: Centbrowser(百分浏览器)
推荐搭配脚本: Toc Bar, auto-generating table of content
(注意: 在edge浏览器上, 一些操作的窗体也别于chrome, 没那么友好, 如promot, alert, 其位置位于浏览器的顶部位置, 而不是中间)
目录
一. 快捷键
快捷键是本脚本的核心组成部分, 大量的功能的启用或关闭都是通过快捷键操作来完成的
部分快捷键位置示意图

由于快捷键的数量很多, 具体以表格内容的为标准, 上图仅作为参考

注意事项:
shift + 鼠标右键, 在非专栏首页只能折叠点击区域的答案, 而在专栏首页则将具有展开和折叠功能.
但需要注意的是, 专栏首页的展开内容仅作为快速阅读使用, 如果对应项目包含GIF, 视频等多媒体内容将不作处理, 必须打开阅读器, 相应的多媒体内容才能在页面正常展示和使用.
如果你点击的是链接, 则展开和折叠将不会起作用, 而是会执行对应的链接处理(即表格底部描述的对应功能)
部分功能和知乎原页面预置的快捷键有冲突, 冲突的几组快捷键将被本脚本的取代掉(可自行对照上面快捷键表格)

一些需要注意的快捷键:
高亮
支持4种颜色可选, 分别为黄色, 绿色, 紫色, 红色
辅助键: ‘Shift‘键

命令行
辅助键: shift + q, (query);
具体支持的命令参考命令行部分
多搜索引擎
辅助键: shift + ‘m‘, (multi)
具体参考搜索多搜索引擎部分
编辑当前页面
辅助键: 无, F2
编辑模式将使得当前页面可以被用户自由修改; 为避免页面异常, 在使用后, 务必退出可编辑模式
在答案, 问题页面也提供可编辑选项

自动滚屏
辅助键: 无
“`“, 该键位于”Tab“键上方(左上角的角落位置那个按键)
双击开始滚动或者暂停;
此项功能是自动化的基础, 自动化围绕着此功能展开, 具体参考自动化部分.
其中和此项密切相关的快捷键为 ‘shift‘ + ‘a‘
PDF打印排版优化
辅助键: shift + “[“
清除不相关的内容(轻微调整页面布局, 如标题居中), 方便生成主要包含正文PDF文件, 增加和 Toc Bar, 自动生成文章大纲联动

二. 过滤器
2.1 生效页面:
搜索(search)
话题(topic)
问题(question)
答案(answer)
2.2 支持拦截方式:
用户名(user), 该用户发表的所有内容将在上述页面被移除掉, 例如: 故事档案局
关键词(keyword), 此项覆盖的范围最广, 内容, URL, document.title…, 假如URL或document.title包含有关键词的, 将在打开页面前警示用户, 如果内容包含的, 相应项将从上述页面移除
问题(question), 该问题所包含的所有答案将从上述页面被移除掉
答案(answer)
专栏文章(article)
2.3 使用方法:
使用非常简单, 只需要点击相应的按钮即可完成, 取消也是如此
用户名拦截:
打开用户的主页面, 如 盐选成长计划

话题拦截:
可以在搜索页面或话题页面执行拦截

问题拦截:
可以在搜索页面, 答案, 问题或话题页面直接拦截相应项

- 其他的项皆是类似操作

2.4 注意事项
注1: 拦截的优先级, 针对包含用户名称的项, 用户名优先级最高; 全局, 关键词的优先级最高
注2: 用户拦截, 为唯一的同步操作, 即在拦截或取消拦截, 相应的操作会直接同步到所有的上述页面, 不需要刷新页面
注3: 用户拦截和话题拦截的数据存储于Tampermonkey内置存储, 专栏文章和答案拦截存储于浏览器的IndexedDB中(相应区别见Q&A)
注4: 关键词用户自定义功能尚未开放, 内置关键词仅包含少量的常见垃圾词汇
三. 命令行

目前支持的命令有:
bgi, 用于设置话题, 答案, 问题, 搜索页面的背景图片, 亦或者可以下载对应的壁纸
如: 设置背景壁纸为必应每日壁纸



当然你也能自定义壁纸或者直接使用阅读器的壁纸
如果图片载入太慢, 或者你特别喜欢某张壁纸, 可以 $bgi -f , 此命令将会设置固定使用该壁纸, 同时对壁纸进行压缩缓存, 以获得更好的使用体验, 你可以调整压缩的比例, 具体操作见于下面命令行表格
light, 用于设置屏幕颜色遮罩
注意, 在设置颜色时, 必须输入的格式是 # + 颜色代码, 不支持rgb(0, 0, 0)此类格式
fold, expand, 顾名思义, 用于在话题, 答案|问题, 搜索页面折叠, 展开相应的内容, 但需要注意的是每次展开将被限制在最多5项(这是为了避免短时间内载入大量的内容, 在载入内容的同时将同时触发过滤器检查机制, 大量的内容会导致页面潜在可能的卡顿)
折叠将以屏幕可见的第一项内容(如:答案)为中心, 上下展开或折叠
reset, 用于重置数据的存储, 使用的时候需要谨慎(小心数据的误删)
如果你之前安装过旧版本的Zhihu_Optimizer, 建议使用 $reset -t, 清除一下本脚本在Tampermonkey的数据, 由于之前的版本可能存储了异常的数据导致有些功能无法正常使用, 但需要注意的是, 使用该命令需谨慎, 避免重要数据丢失
help, 打开相应的帮主页面
如快捷键, 命令行, 用户手册等页面
monkey ,设置Tampermonkey

由于需要使用到Tampermonkey的ID, 如果用户不设置, 将会自动检测浏览器的UA来判断, 仅支持Edge和Chrome, 如果你浏览器有伪装UA的扩展或脚本, 检测可能将会出问题; 同时由于microsoftedge和chrome store的扩展通用, 所以使用该命令前先设置好Tampermonkey的ID
$monkey -e iikmkjmpaadaobahmlepeloendndfphd
注意事项: 假如在使用脚本的过程中出现异常, 可以尝试清除Tampermonkey等存储的数据
四. 多搜索引擎

单一快捷键
选中搜索, ‘dm‘, ‘db‘, 这两项不支持, 直接选中搜索
弹窗搜索
2.1 单一搜索引擎
如 z java, 表示在使用知乎搜索引擎, 来搜索java, 支持’dm‘, ‘db‘
2.2 混合搜索
如 $ -z -b -db 机器学习, 表示将同时搜索知乎, B站, 豆瓣读书

注意, 不同搜索引擎之间需要用空格隔开
五. 数据的导出与导入
即, IndexedDB的数据
导出, 快捷键’shift‘ + ‘b‘, (backup)
导入, 快捷键 ‘shift‘ + ‘i‘, (import); 取消此窗体也为此快捷键

注意事项:
六. 页面颜色
生效页面: 全站
预置4种颜色可选, 在Tampermonkey菜单可选

分别为: 土黄色, 橄榄绿, 草原绿, 灰色(具体颜色效果参考实际)
亮度将根据时间自动梯度调节, 颜色, 透明度都将同步调节
支持暂时关闭当前页面颜色调节, 支持完全退出页面颜色调节
支持使用命令行进行自定义调节(具体参考命令行), 假如你在命令行设置自定义屏幕颜色遮罩后, 使用菜单栏项进行设置, 则通过命令行进行的设置将会被自动清除
七. 专栏文章文字颜色辅助
生效页面: 专栏文章
对内容的文字颜色进行一定的规律调节, 预置红, 蓝两种基准色(即在这两种颜色上进行梯级调节)
突出英文字母, 和数字, 字母和数字分别采用绿色和紫色交替显示
需要注意的是: 如果原文已经加粗(或者已经表示强调的内容), 标题, 链接等内容将不会受到影

代码区将对知乎未标记的JavaScript代码进行关键词高亮
默认开启, 需要手动关闭, ‘shift‘ + ‘T‘, (Text)
八. 自动化
1. 阅读器
生效页面问题, 答案

1.1 自动加载下一内容
快捷键’shift‘ + ‘a‘, (auto), 开启或关闭自动加载, 以下内容皆如此
在开启自动模式后, ‘a’, 快捷键将可以临时暂停
1.2 自动加载阅读模式
快捷键’shift‘ + ‘d‘, (direct)
在打开页面5秒后, 将自动加载阅读模式
1.3 ‘护士模式’
快捷键 ‘shift‘ + ‘n‘, (nurse, 护士)
在打开页面5秒后, 将自动加载阅读模式, 同时自动开启自动模式
2. 专栏文章
只支持’shift‘ + ‘a‘, 自动加载模式, 但是需要注意的是, 你当前阅读的文章必须在侧边栏的目录中, 如, 下图所示

- 注意事项
3.1 开启自动模式之后, 为了避免冲突, 部分功能可能会暂时禁用, 如加载间隙期(如等待5s), 手动去点击一些其他的项目, 或退出阅读模式等都会受到限制, 可以关闭自动模式之后在进行操作
3.2 在答案, 问题页面下, 阅读器模式, 由于答案的长短不一(如只有几十个字), 将会自动分析其内容长度, 来决定在当前答案停留的时间, 为避免过短时间滚动到下一答案, 将会稍微延长等待时间
九. 侧边栏
专栏文章下和专栏首页, 侧边栏的轻微差异

1. 专栏(column)
注意: 在非专栏文章页面, 如需启用侧边栏, 需要先follow任意一个专栏先
1.1 订阅(subscribe)
上限10项, 用于你当前急切关注的专栏, 超出上限, 将根据订阅的先后进行清除, 即早期添加进来的将被后期添加的取代
订阅方法:
快捷键在(专栏文章页面), ‘shift‘, + ‘s‘, (subscribe)
或者:

1.2 跟随(follow)
近似于fans, 无理性的, 将你喜欢的专栏都可以装进来, 不设上限
快捷键在(专栏文章页面), ‘shift‘, + ‘f‘, (follow)
或者, 如上图
2. 检索
注意不带’$‘开头则默认检索你follow的专栏数据, 带$号的将检索对应的项
2.1 按关键词, 单一关键词, $a=(python), 多个关键词$a=(python 机器学习), 使用空格进行分隔, 括号必须存在
2.2 按时间搜索, 支持小时(hour), 天数(day), 星期(week), 月份(month), 年(year)
$h<24, 表示收藏时间小于24个小时, 多个条件, $d>1 $d<7, 即收藏时间大于1天, 小于7天
2.3 按文章ID搜索, $p=102274476, (精确搜索)
2.4 混合条件搜索(时间+关键词), 如: $d>3 $d<7 $a=(python javascript), 即收藏时间大于3天小于7天, 关键词包含python和JavaScript;
2.5 收藏的答案有别于收藏的专栏文章, 使用 $q 进行检索, 如 $q=javascript, 或多条件 $q=javascript python, 即标题中同时包含
3. 收藏
3.1 专栏
见单一页面功能图示
3.2 阅读器
见单一页面功能图示
4. 稍后阅读
注意事项: 在’pages’项中, 有一个’reverse’, 可以对目录进行倒排序, 可以方便查看该专栏很久以前发表的文章或你follow的专栏
十. 单一页面功能图示
一. 主页
将征用知乎专栏首页作为数据的汇总页面专栏首页
(快捷键, shift + x可以直接打开首页)
你subscribe & follow的专栏, 专栏文章或答案收藏, 稍后阅读等数据将在此页面汇聚, 作为个人的新主页

二. 阅读器

界面以及主要功能介绍
(收藏, 稍后阅读等功能见于右侧工具栏)

在图片模式下, 并不会加载所有的当前页面图片, 只加载含有大图(原图)的图片
注意事项:
需要注意的是由于在阅读器中, 知乎原有的视频, GIf, 图片等多媒体内容无法正常由知乎原网页的JS做出响应.
在阅读器中相应功能将由本脚本独立提供, 所以当你在阅读器中查看视频等内容和原页面是有所差别的(但是不会影响使用)
例如: 阅读器_播放视频

(Centbrowser(百分浏览器)下的效果, 可以直接下载视频)
三. 问题|答案

四. 搜索

简单模式, 仅保留搜索的主要内容,可以移除掉知乎的商业推广, 如live, 盐选, 视频等

五. 专栏

(dislike, 该文章将从搜索, 话题等页面当中被拦截, like暂时未启用任何功能)
十一. 白噪音
预置10种不同风格的白噪音可选, 但需要注意的是专栏主页已经预设音频控制项(不需要手动开启)
shift + w, (whitenoise), 生成或销毁音频播放器(生成播放器的同时将会同步加载音频, 加载成功后会自动播放)
shift + v, 播放或暂停
shift + +, -, 控制音量
更多相关操作详见与快捷键操作
注意事项:
除了专栏首页下有音频控制栏, 其他的页面都不生成图形界面, 完全由快捷键控制;
为了避免影响注意力, 白噪音设置的默认播放模式为循环播放, 播放完切换下一, 需要手动切换
十二. 搜索框控制
移除预置搜索框搜索词
移除搜索框下的热门搜索, 不影响搜索建议和搜索历史
禁止搜索框在空白状态依然产生搜索的行为, 即不输入任何内容的状态下, 按回车键依然会搜索(关键词为知乎的热门搜索)

十三. 内容 | 操作提示
F12, 即可查看到包含脚本信息, 数据存储情况, 过滤内容提示(如你可能会看到那种用户被拦截等), 错误等

十四. 其他
1.去重定向
即在打开外链时, 不需要在知乎安全中心跳转(全局生效, 包括评论区)
2. 未登录账号弹窗
移除在为未登录状态下, 页面出现的登录弹窗(不影响正常的登录, 当你主动登录账号时)
3. 剪切板优化
移除版权声明, 将部分常用的中文符号换成对应的英文符号, 如中文空心句号, 换成英文实心句号, 此项默认开启, 如需关闭此设置, 见于快捷键操作部分
4. 广告内容调整
对广告内容进行轻微调整
5. 滚动辅助
拦截导致页面在自动滚动时出现卡顿的事件
6. 页面宽度调整
7. 字体微调整, 略微增加点阴影
Q&A
一. 数据存储
数据的存储选择了两种不同的存储方式
Tampermonkey自带的数据存储, 这部分的数据为相对重要的数据, 数据量较小的数据, 如关注的专栏, 屏蔽掉的用户, 屏蔽掉的话题, 问题
IndexedDB, 反之, 用于大规模的数据的存储, 如收藏的文章(以及其生成的摘要, 备注, 标签等), 和屏蔽掉的答案或专栏文章
注意事项:
使用IndexedDB存储的问题
这是高度受制于浏览器, 如同源限制(简单的理解就是zhuanlan.zhihu.com无法和www.zhihu.com进行直接的数据访问), 限制了IndexedDB的可用性, 故而在收藏答案时, 只做简单处理, 并不会像收藏专栏文章, 可以收集各个方面的数据.
谨慎清理浏览器
注意IndexedDB存储的数据会在清理浏览器, 或者使用管家类(xx垃圾清理, 隐私保护等噱头的工具软件)”清理”系统时, 会一并移除
用户所有的使用数据均为本地存储
二. 阅读器相关
- 由于知乎的答案是采用懒加载模式,(即你滚动到特定的页面时, 才加载数据), 而在阅读模式下, 采用的为模拟滚动的方式触发数据的加载, 可能有时无法有效加载数据, 可以尝试退出阅读器, 进行手动滚动加载
- 页面潜在崩溃, 在阅读模式下采用模拟滚动来加载后续的数据, 短期内可能由于滚动过快, 过于频繁, 触发大量数据加载, 导致页面可能出现崩溃(亦或者知乎页面的反爬保护)
- 得益于代码的优化, 以上两种情况在3.4.7.x以上版本暂未出现过, 并不保证是否依然存在类似问题.
三. 异常
如果你之前安装过旧版本的zhihu optimizer, 特别是3.5.0.0之前的版本的, 可能部分数据存储异常, 导致部分功能异常, 可以尝试使用$reset 命令(使用方法, 参考命令行部分)重置一下数据(注意将会清除部分数据)
关于代码
api, 代码所使用到的api接口均源于搜索查找所得, 原api所有者持有最终版权, 请勿滥用
第三方代码, 少量使用到第三方代码的项为
2.1 阅读器, html和css主要源于360doc.com
2.2 flipclock, html和css
2.3 其他的零散来源不同的站点如, BiliBili, zhihu等
2.4 以上使用均已在代码中标注出处来源(部分未提及的, 均已在代码处, 标注出处), 原作者版权所有, 请勿滥用
2.5 如原作者禁止以上代码, 请联系我, [email protected], 我将删除以上对应代码
本代码遵循MIT开源协议, (以上使用的第三方代码, 原作者版权所有), 使用请自行风险评估
代码一次写成, 没有进行二度重构, 修修补补, 可阅读性价差, 将就吧…
—————————————————————————————-End—————————————————————————————————-
Make Thing Better & Simpler
问题反馈 | 建议
generated by haroopad