[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
force display of <noscript> content
From: |
Yuchen Pei |
Subject: |
force display of <noscript> content |
Date: |
Wed, 12 Oct 2022 23:12:00 +1100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) |
Hello,
Currently, librejs filters all html and js requests / responses, and
accepts / edits / rejects accordingly. It forces the display of
<noscript> element content only when an inline script / event handler
etc on an html has been modified. This can cause problems when librejs
leaves html unmodified, but blocks some external scripts. An example is
certain versions of discourse forums, like [0][1] and sometimes the fsf
member forum, with librejs the browser may display a blank / broken
page, but they render fine in browsers not supporting javascript like
eww and lynx.
[0] https://discourse.haskell.org/
[1] https://emacs-china.org/
I was thinking about what to do with this. I can think of a few options
1. Add a button to allow the user to manually force noscript display
until the next (re)load. This is what I have done in [2].
2. Add a more persistent user option, which when enabled, make librejs
reject all scripts when a noscript tag is present.
3. Something in between: a per-site / url option to force noscript
display.
[2]
https://git.savannah.gnu.org/cgit/librejs.git/commit/?h=noscript-toggle&id=b849b8d461479cf6530c77b97b094807840ce0d7
A few relevant questions:
1. Do developers ever sneak scripts between <noscript> tags?
2. Does it make sense to reject all scripts, free or nonfree, when
opting for noscript display, assuming sites generally use <noscript>
to offer a version when *all* scripts are blocked? Otherwise there
may be duplicate content on a web page if some scripts are accepted
and <noscript> content is displayed.
Best,
Yuchen
--
PGP Key: 47F9 D050 1E11 8879 9040 4941 2126 7E93 EF86 DFD0
<https://ypei.org/assets/ypei-pubkey.txt>
- force display of <noscript> content,
Yuchen Pei <=