showtips简化模式添加了。
由两部分组成。
例如:
showTips:https://api.exchangerate.host/convert?from=USD&to=CNY&amount=1 <i>%s USD = {json.result*%s} RMB</i>
首先从 api.exchangerate.host/convert?from=USD&to=CNY&amount=1 抓取汇率
然后给一个 <i>%s USD = {json.result*%s} RMB</i>
。搜索酱就会自动解析为 json 并抓取 json.result 然后乘以选中的美元数额,最后显示在 tips 里。
还添加了以下功能:
大佬,发现最近 2 个版本会导致浏览器内存急剧增加,网页加载迟缓。禁用搜索酱会恢复正常。
我用的是 Firefox 和 Tampermonkey。不知道和新增的 showtips 功能有没有关系。
showTips没有规则触发就只是死代码,不应当影响性能。你能否测试一下,你本地最后一个没有问题的版本是哪一个?
我在本地测试了一下,未开启搜索酱时内存占用433MB,开启搜索酱后内存占用439MB。我的引擎数量有431个。我怀疑是你卡在某个图标加载上了。
测试页面:标普500ETF-Vanguard(VOO)股票股价_股价行情_财报_数据报告 - 雪球
观察目标:观察从刷新网页开始到分时图出现的时间,主观感受。
观察结果:最近的几个版本加载时间都比较长,我现在回退到 1.6.6.54.23 版本,有所改善,但仍然比禁用搜索酱后的加载时间长。也许这是脚本的工作原理导致的必然结果?
更主要的影响是内存占用,还是以 1.6.6.54.23 版本为例。启用搜索酱后刷新测试页面,内存占用会从 7GB 飙升到 13GB,然后最终回到 6.5GB 到 7GB 。禁用搜索酱后刷新测试页面,内存占用则波动不大。


系統分配内存不一定等于使用内存。
我用上面的雪球网站测试了一下,firefox112.0.2 tm 4.18.1 搜索酱版本 1.6.6.80.64,禁用其他所有扩展。引擎规则还是一样的431个。
取 about:processes 内显示的数据
未开启搜索酱时 Firefox 占用内存 262 MB,扩展总占用 72MB。
开启搜索酱之后 Firefox 占用内存 270 MB,扩展总占用 80MB。
加载缓慢估计是图标和 FontAwesome 库的问题。你试试在“导出设置”页面将 FontAwesome CDN 地址换成其他的。然后将加载缓慢的引擎图标改成本地图片。或者直接开启“缓存图标”功能
“缓存图标”的选项我一直是打开的。
FontAwesome CDN 地址我没有自定义,但我有安装 https://www.localcdn.org/ 这个插件,不知道会不会对搜索酱生效?或者产生干扰?稍后我会把它禁用试试。
自从禁用搜索酱后,浏览器一下子变得非常顺滑,原来卡顿、内存飙升的症状都消失了。
也可能是因为和你安装的某个扩展冲突了吧,因为就算是因为图标加载,搜索酱最新版也只会加载当前分组的图标,不可能造成卡顿。
我自己也在不同环境下测试过,都没有你这么夸张,一下子占用掉6个G的内存。
或者你方便的话,在设置页长按导出完整配置,发我邮箱 mailto:[email protected] 给我调试看看
另外,缓存图标开启之后,如果没有完成,每次新开页面都会继续缓存。如果你在墙内并且完全导入了我的自用配置,那页面大概率是会长期处于并发加载状态的。
我也怀疑是和某个扩展冲突了,但当我只保留这3个扩展的时候,问题仍然存在。我没有继续禁用另外两个扩展,因为我的 Tab 很多,担心会有不可预料的后果。
另一方面,一旦禁用搜索酱,问题就解决。我已将完整配置发给您了。
新增了三个评分 showTips,效果如下:
- IMDb
- 豆瓣
- Metacritic评分
加了长度为50,有效期一天的缓存,但要用的话还是建议自行编辑“URL正则匹配当前引擎”,只在固定站点使用
这个 showTips 可以取代一些划词翻译的插件了,比如下面的代码就可以调用有道的查词结果。只是简单示例一下,还可以美化一下样式。
showTips:https://dict.youdao.com/result?word=%s&lang=en
{.trans}
另外,内存占用的问题也解决了,感谢大佬!
安装这个扩展就能生效,因为引入了拼音库,所以不想放进主代码里。
-
新增了百度汉语查字,效果如下:

-
新增了维基百科词卡,效果如下:

-
关键词分隔参数新增了全部打开功能,例如 %s[all]
代表以换行符分隔后批量调用对应的引擎。再如 https://%s[all|@].replace(/^https?:\/\//,"")
代表以@分隔后分别删除开头的http://
然后在开头添加https://
后批量打开。如果剪贴板复制了很多网址,可以用这个规则批量打开。
-
新增了页内高亮指定链接的功能,效果如下:

-
新增了页内高亮预置分组的功能,配合上一项可以实现在任何网站根据用户 ID 一键屏蔽指定用户的功能,步骤如下:
- 在设置页新建分组,例如分组名
weibo
,分组内容 /123456/li
(l 代表筛选链接,i 代表不区分大小写,123456 即为你要屏蔽的用户 ID)
- 新增高亮搜索词,搜索词为
@weibo
,隐藏父级元素,根据层级调整父级深度,保存高亮规则。
- 在
链接处理分组
新增引擎,内容为 find.addto(weibo):%t.replace(/.*u\//,"")
,代表将指定链接中u/后面的 ID 提取出来添加进 weibo
分组。添加根据 url 正则匹配:u/\d+
,代表仅在链接包含u/xxxxx
的用户名链接上唤出时该引擎才出现。
- 然后就可以一键屏蔽了,对着讨厌的用户长按右键,点击你新增的
屏蔽
,用户就被屏蔽啦。
-
新增了all页面的指定引擎调用,例如https://hoothin.github.io/SearchJumper/all.html?kw=搜索酱&engine=百度
。便于通过外部全局划词软件(例如 utools / popclip)调用搜索酱当中的某个引擎搜索
-
新增了立即搜索所有标签页
,默认关闭。开启后页内查找时,如果 pin 住高亮词,所有打开的标签页都会检测该高亮词,如果有结果,标签页将会闪烁。
页内高亮规则支持单独导入导出,也能通过 webdav 同步。
*因为没有测试场景以及测试时间无,这些新功能可能会有 bug。
Hoothin
217
2 Likes
phoenix
218
感谢大佬持续更新。
我有一个需求是在 Hacker News 的详情页高亮出现的链接,我的高亮规则如下:
"/^https://news\\.ycombinator\\.com/item/i": {
"sep": "@",
"words": [
"/https?:\\/\\/[^ ]+/"
]
},
以 Show HN: YouTube banned adblockers so I built an extension to skip their ads | Hacker News 为例,该规则会高亮不该高亮的部分比如某些单词如下图:
同时又没有高亮应该高亮的链接,如下图:
请大佬指点一下问题出在哪里,或是否有更好的办法来实现我的需求,谢谢!
Hoothin
219
多谢反馈,这是个bug,已经修复了。
至于高亮链接,因为[^ ]
会跨元素搜索到下一个元素的不为空格的字符,所以可以用/https?:\/\/[^\s]+/
来替代
phoenix
220
谢谢大佬指点。
再请教一个自定义分隔符的问题,根据提示:
自定义分隔符:$c 加分隔符,例如 $c| search | jumper,默认空格作为分隔符
我输入以下文本:
$c| search test| jumper
但似乎空格仍然作为分隔符将 search 和 test 分隔开了。
Hoothin
221
如果开启了单词模式,空格会作为第二分隔符。点击一下A
关闭单词模式就行