JetForMe
(Rick M)
1
有没有办法在向下滚动话题时保持旧帖子加载在页面上?这会影响使用浏览器自带的页面搜索功能,而该功能比 Discourse 的话题搜索更流畅。在页面的任何位置,我只需按下 Command-F 并输入文本,即可快速搜索渲染后的文本以查找匹配项。而 Discourse 的搜索要求我先滚动到顶部,点击搜索图标,勾选“本话题”复选框,然后点击结果以查看其上下文。每次我想尝试另一个结果时,都必须重复这一过程。
理想情况下,系统应加载整个话题线程,而不是要求我滚动到底部。我理解为什么它不这样做,但至少我可以通过键盘快速滚动到底部来加载更多帖子。这本来是可以接受的,但问题是,随着我继续滚动,之前的帖子会被丢弃,导致无法搜索这些内容。
按下键盘上的 End 键,或点击/轻触时间线底部的日期。您也可以通过点击最后一条帖子的时间或帖子数量,在底部输入主题。
Falco
(Falco)
3
5 个赞
“打印”路由是个不错的起点,但还不是我真正想要的。
在旧版本中,我可以通过滚动加载整个主题(或者仅加载与特定序列相关的部分),并保持其加载状态,然后使用 SingleFile 将整个主题导出为存档,显示效果与普通的论坛页面完全一致。这有点像截图,但体积更小,可以滚动、缩放,链接可以点击,图片可以保存,而且文本是以文本形式而非像素形式呈现的。我还可以先对页面做一些准备,比如展开“3 条回复”的小部件,或取消隐藏剧透内容,甚至在回复小部件中附加私人笔记,这些笔记可以作为存档的一部分查看,但永远不会真正发布到论坛上。我还可以使用 uBlock Origin 的“zapper”功能来删除那些与我想要保存的主题部分无关的帖子……将讨论精简到只保留我需要的确切评论。
然而,在一次 Discourse 更新之后,这种功能就丢失了。我现在最多只能一次加载几个帖子。如果我把浏览器缩放级别拉到最远,以便在屏幕上显示更多帖子,也许能多加载一些。
如果有一种方法可以强制它停止卸载帖子,那就太棒了。比如,一个快捷键、一个按钮,或者……随便什么方式。只需按某个键,就能暂时禁用负责卸载屏幕外帖子的 JavaScript 函数,并且仅针对当前浏览器标签页生效。
举个例子,假设有一个长达 12,000 条评论的主题,关于一个团购活动,跨度数年。在主题中间,人们聊了 100 个帖子关于猫,然后又回到了原来的话题。我可以滚动到猫咪讨论的开头,在 Discourse 中按下“停止卸载帖子”的快捷键,向下滚动,使用 uBlock 的 zapper 删除所有与猫无关的帖子,滚动到猫咪讨论的结尾,然后按下 SingleFile 的快捷键,将 DOM 保存为 .html 文件。
我直到去年还能做到这一点;不确定是从什么时候开始不行了的。也许那只是一个允许它正常工作的 bug,因为看起来卸载行为早在十年前就已经存在了。但我喜欢那个 bug,希望有时能把它带回来。
我知道这会让标签页占用更多资源。没关系。在某些使用场景中,“DOM 中加载更多内容”比最小化 RAM 使用更重要。