# Disruption to CTRL+F search, pls provide alternate method

**URL:** https://meta.discourse.org/t/disruption-to-ctrl-f-search-pls-provide-alternate-method/392879
**Category:** Support
**Tags:** search
**Created:** [January 7, 2026, 2:54pm UTC](https://meta.discourse.org/t/disruption-to-ctrl-f-search-pls-provide-alternate-method/392879 "2026-01-07T14:54:44Z")
**Posts on this page:** 9
**Page:** 1

<div class="post-metadata">

### Author: ![joesmith3129857](https://avatars.discourse-cdn.com/v4/letter/j/71e660/32.png) [@joesmith3129857](https://meta.discourse.org/u/joesmith3129857)
#### Post date: [January 7, 2026, 2:54pm UTC](https://meta.discourse.org/t/disruption-to-ctrl-f-search-pls-provide-alternate-method/392879/1 "2026-01-07T14:54:44Z")

</div>

Hi,

I was on the following discourse forum

> **[Re: LUCI - add support for managing tags in DHCP and DNS configuration web page](https://forum.openwrt.org/t/re-luci-add-support-for-managing-tags-in-dhcp-and-dns-configuration-web-page/220640/23)**
>
> Hello, It possibly is when the dhcp\_redesign\_phase2 branch was deleted on possibly commit 0bf2ea9. I say possibly because this is what I have in some text file, but I can’t verify it anymore and I don’t remember where I got it. Here is the...

And I needed to find the word “mac”

Using CTRL+F, it could only find this string when it was on screen. Scrolling itself made matches disappear.

It also disrupts the scroll position match indicator in the scroll bar

 ![image](https://global.discourse-cdn.com/meta/original/4X/0/4/4/04403e8507effc6f5c6ec543104683089c356d68.png)

I understand the claim that this is to “save memory”, but this system has 64 gigabyte of memory and this page is less than 100 kilobytes of text. So I understand that this is actually and anti-scraping feature like facebook utilises to prevent (but fail) scraping.

Searching for this strange bug, I found an absolute sea of complaints about this extremely disruptive anti-feature.

What are the alternatives ?

Can it be disabled client side ?

What about loading the page in print mode ?

Is there any way to force a full text only dump of the entire page so I can just view it in a text editor ?

What about greasemonkey script, anything that can break the feature that unloads from memory the text so it can be searched ?

Is my only option to penetrate the database server, exfiltrate all discourse content and then write code to display the comment thread without these disruption ?

I see complaints about this from 2014, so I imagine there is no desire to solve this issue and it’s a “feature not a bug” but a feature for the owners not the user ?

What is the “meta” on this very serious problem that makes me DREAD ever having the misfortune of having to navigate a “discourse” forum ?

Yes, I’m bitter, how can you tell ?

---

<div class="post-metadata">

### Author: ![joesmith3129857](https://avatars.discourse-cdn.com/v4/letter/j/71e660/32.png) [@joesmith3129857](https://meta.discourse.org/u/joesmith3129857)
#### Post date: [January 7, 2026, 3:03pm UTC](https://meta.discourse.org/t/disruption-to-ctrl-f-search-pls-provide-alternate-method/392879/2 "2026-01-07T15:03:37Z")

</div>

I asked the slop machine for giving me a print version

> **[Re: LUCI - add support for managing tags in DHCP and DNS configuration web page](https://forum.openwrt.org/t/re-luci-add-support-for-managing-tags-in-dhcp-and-dns-configuration-web-page/220640/print)**
>
> Hello, This is in response to prematurely closed thread linked below. In this thread a user @systemcrash shows off his custom made "tag matching tab" to the DHCP settings panel. I need this ability to configure the following tags in...

And after about 1 minute of processing the preview, it DOES work

 ![image](https://global.discourse-cdn.com/meta/original/4X/f/9/0/f908cf34da3b9528627398b9f51dfd5038a88924.png)

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [January 7, 2026, 3:04pm UTC](https://meta.discourse.org/t/disruption-to-ctrl-f-search-pls-provide-alternate-method/392879/3 "2026-01-07T15:04:57Z")

</div>

> [@joesmith3129857](#):
>
> What about loading the page in print mode ?

Append `/print` to load up to 100 posts at a time, see it in action here: [https://forum.openwrt.org/t/re-luci-add-support-for-managing-tags-in-dhcp-and-dns-configuration-web-page/220640/print](https://forum.openwrt.org/t/re-luci-add-support-for-managing-tags-in-dhcp-and-dns-configuration-web-page/220640/print)

> [@joesmith3129857](#):
>
> Is there any way to force a full text only dump of the entire page so I can just view it in a text editor ?

Yes, see [https://forum.openwrt.org/raw/220640](https://forum.openwrt.org/raw/220640)

---

<div class="post-metadata">

### Author: ![joesmith3129857](https://avatars.discourse-cdn.com/v4/letter/j/71e660/32.png) [@joesmith3129857](https://meta.discourse.org/u/joesmith3129857)
#### Post date: [January 7, 2026, 3:09pm UTC](https://meta.discourse.org/t/disruption-to-ctrl-f-search-pls-provide-alternate-method/392879/5 "2026-01-07T15:09:38Z")

</div>

Thanks !

raw method does it for me,

is there an addon to load every page raw automatically by any chance

I was writing another message sorry I can’t stay all day to wait for the time out one image at a time.

 ![image](https://global.discourse-cdn.com/meta/original/4X/7/a/d/7ad42dc4d5aef37f613769d5e898302370aff0a6.jpeg)

---

<div class="post-metadata">

### Author: ![joesmith3129857](https://avatars.discourse-cdn.com/v4/letter/j/71e660/32.png) [@joesmith3129857](https://meta.discourse.org/u/joesmith3129857)
#### Post date: [January 7, 2026, 3:10pm UTC](https://meta.discourse.org/t/disruption-to-ctrl-f-search-pls-provide-alternate-method/392879/6 "2026-01-07T15:10:58Z")

</div>

Yes I have tried it but

I do not wish to use server-side search

and also the results are, not in a way usable for me

Here is what that looks like

 ![image](https://global.discourse-cdn.com/meta/original/4X/f/c/4/fc461e97dc6bd67e52b379edd40a2ded229a3fa4.png)

---

<div class="post-metadata">

### Author: ![joesmith3129857](https://avatars.discourse-cdn.com/v4/letter/j/71e660/32.png) [@joesmith3129857](https://meta.discourse.org/u/joesmith3129857)
#### Post date: [January 7, 2026, 3:22pm UTC](https://meta.discourse.org/t/disruption-to-ctrl-f-search-pls-provide-alternate-method/392879/8 "2026-01-07T15:22:32Z")

</div>

I’m sorry,

I was trying to work out a problem in openwrt

And I was getting really frustrated with not being able to search as I expect a browser to be able to search.

I’m sorry that you feel I am being impolite not to spend time here, but please understand from my perspective.

I am struggling to use the software, to such an extent that I start to looks for solutions to overcome the problem.

And when I am unable to find the solution, I find the name of the software, find its disccusion space, create an account, do the captcha, do the email verification, search the forum for similar questions, find some, they’re closed, find others, decide to make a new post, start writing, write my entire comment, with many picture examples

and then I press reply, and I get an error message that you can only post one image at a time

Which would require me to edit my entire message which depends on those screenshots for coherence.

So I try to cut my message into 1 image per post, but then there is an unknown timeout period to wait out between messages, and I just want to get back to work and I’m starting to think, these guys surely know about the struggle, so I’m not adding anything by telling them how much I am disturbed by this

but no, as a power user, I have a duty to let devs know of the struggles of other users and now it’s been like a solid half hour of struggling to tell about the struggle.

So… I’m sorry if this is impolite, but I don’t want to spend another unknow number of extra minutes to discover and perform whichever actions are required to post my message.

But I assure you, I don’t mean to be impolite to you, I am just very frustrated !

---

<div class="post-metadata">

### Author: ![Thefacto](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/thefacto/32/537948_2.png) [@Thefacto](https://meta.discourse.org/u/Thefacto)
#### Post date: [January 7, 2026, 3:27pm UTC](https://meta.discourse.org/t/disruption-to-ctrl-f-search-pls-provide-alternate-method/392879/9 "2026-01-07T15:27:40Z")

</div>

Hey folks, I ran into the same annoying issue with CTRL+F on Discourse—posts that aren’t currently on screen just disappear from search because of the lazy-load / unload-from-memory system. Even with 64GB RAM, you can’t search the whole topic in-browser. From what I gather, this is more of an anti-scraping feature than a memory-saving one. Here’s what worked (and safer) alternatives I’ve found:

1. Use the Print View: Add `/print` to the end of the topic URL, e.g., `https://forum.example.com/t/topic-name/12345/print`. This loads all posts in the topic at once and works with browser search (CTRL+F). The layout is simplified, but perfect for full-text search.

2. Scroll Until Everything Loads: Keep scrolling until the lazy-load system has rendered all posts in the DOM. CTRL+F will then find everything. It can be tedious for long threads, but works without extra tools.

3. Use the Discourse API: Every topic has a JSON endpoint like `https://forum.example.com/t/{topic_id}.json`. You can extract all posts from the `post_stream.posts` array, open in a text editor, and search comfortably. Safe, official, and works regardless of lazy-load.

4. Userscript / Greasemonkey Approach: You can automate full-page post loading with this simple userscript for Chrome/Firefox. It auto-clicks “load more posts” until the topic is fully rendered:

```javascript
// ==UserScript==
// @name Discourse Load All Posts
// @namespace http://tampermonkey.net/
// @version 1.0
// @description Auto-click "load more posts" to fully render topic for search
// @match https://*/*
// @grant none
// ==/UserScript==
(function() {
    'use strict';
    function loadAll() {
        const button = document.querySelector('.load-more[data-more-url]');
        if (button) {
            button.click();
            setTimeout(loadAll, 500); // wait and try again
        }
    }
    window.addEventListener('load', () => {
        setTimeout(loadAll, 1000); // start a second after page load
    });
})();

```

After it’s done, CTRL+F will search everything in the thread.

Export / External Search: Use print view or API JSON to export posts to PDF, HTML, or plain text. Open in an editor like VSCode or Notepad++ for full-text search.

⚠ Don’t try server hacks: Penetrating the database or scraping content server-side is illegal and unnecessary. Use API / print view / userscript—they’re all safe and work reliably.

TL;DR: Easiest: /print view. More flexible: API JSON or userscript. CTRL+F works once all posts are loaded in DOM. Hope Discourse team sees this and maybe considers a “full search” option someday—it’s a serious UX problem for anyone doing research or deep topic reading 😅

---

<div class="post-metadata">

### Author: ![joesmith3129857](https://avatars.discourse-cdn.com/v4/letter/j/71e660/32.png) [@joesmith3129857](https://meta.discourse.org/u/joesmith3129857)
#### Post date: [January 7, 2026, 3:31pm UTC](https://meta.discourse.org/t/disruption-to-ctrl-f-search-pls-provide-alternate-method/392879/10 "2026-01-07T15:31:15Z")

</div>

Does that greasemonkey script work ?

Have you made it ?

---

<div class="post-metadata">

### Author: ![Thefacto](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/thefacto/32/537948_2.png) [@Thefacto](https://meta.discourse.org/u/Thefacto)
#### Post date: [January 7, 2026, 3:38pm UTC](https://meta.discourse.org/t/disruption-to-ctrl-f-search-pls-provide-alternate-method/392879/11 "2026-01-07T15:38:55Z")

</div>

Just to clarify about the userscript I shared: I wrote it specifically to work with the forum I was using, so there might be some differences in HTML structure if you try to adapt it to other sites. The script works on standard Discourse topics that use the “Load More Posts” (lazy-load) system by automatically clicking the load more posts button repeatedly until all posts are loaded into the DOM. Once all posts are loaded, you can use your browser’s CTRL+F to search for any keywords normally.

In fact, many people have been using Tampermonkey/Greasemonkey for years to handle Discourse like this, and it works well even on very large forums.

⚠ Note: Some forums might change the class of the button (e.g., `.load-more[data-more-url]`), so you may need to tweak the selector slightly to match the actual button.
