Hmm, NoScript must work a bit differently than disabling all of
Javascript. Apparently it allows enough script to let the web browser
recognize there is a readability object defined in the page's script.
I don't use NoScript but do have an add-on that lets me quickly and
easily disable Javascript. With Javascript completely disabled in
Firefox, the book icon does NOT appear. Without any script support,
there can be no Javascript objects defined, like the readability object.
So, for me with Javascript disabled, visiting the capstone page results
in seeing a simple web page and no book icon. That is, with Javascript
completely disabled, there can be no Reader View mode. That NoScript
still has the web browser see there is a readability object as you show
in your first pic means NoScript is not blocking all scripts on that
page.
Then, per your 2nd pic, you click on the Reader View icon but see no
content in the web page. That is because the readability object is
created by Javascript, and without Javascript you don't get to see the
parsing done by that readability library.
Your 3rd pic shows what happens when you disable NoScript. That's what
I get when Javascript is enabled; i.e., when I do NOT use the
No-Javascript add-on to disable Javascript. With Javascript available,
the readability object can be defined and the parser exercised against
the content to display the simpler view.
Reader View doesn't always help. It depends on how much garbage the
parser has to remove while trying to maintain some of the formatting so
the remaining content is legible with decent layout. Even Evernote's
Clearly add-on didn't always work. The parsed content could be harder
to read because too much formatting was lost.
So there appears a difference in how NoScript disables Javascript and
how other add-ons merely change the javascript.enabled setting in
Firefox (to disable/enable Javascript). With Javascript completely
disabled, you won't even see the Reader View icon in the addressbar
because the readability object is something defined by Javascript. It
is possible in NoScript to define different levels of script blocking
where not all scripting is block but only some of it is. For example, I
believe you can configure NoScript to all all scripts at the domain
level. That is, all scripts at the visited domain are allowed if they
are retrieved from that domain, like being within the delivered web page
or resources linked to by the web page but come from the same domain as
did the delivered web page. You end up blocking off-site or off-domain
script resources. You may choose to allow the site that you chose to
visit to run their scripts but don't want to allow scripts that come
from elsewhere, like in ad frames a site uses to pipe content from some
other source. Sites may dictate what script functions the advertizers
may use in their ads but that doesn't mean there is no abuse or
miscommunication or ignorance by the advertizer or whomever they
contracted to deliver their ads to the site you visited.
As I recall, when I previously used NoScript, and to prevent it from
destroying usability of all the sites that I deliberately choose to
visit, I configured it for "Temporarily allow top-level sites by
default" and selecting "Base 2nd level domains". A site may bounce
between their own hosts (e.g., www, code, support, etc) with their pages
navigating between those hosts and not allowing their scripts could
break that navigation. My use of NoScript was to block scripts coming
from off-domain, like through ad frames.
If I visit an unknown or untrusted site, I start with Javascript already
disabled in the web browser. I don't need NoScript for that. Some
features, like XSS, only work for sites that you whitelist, which means
you have to whitelist every site you plan to revisit. Using NoScript
requires a lot more user effort and training than just "install and go".
It digs so deeply into a web page that its list of blockages may not
tell you what it really did to break a page. Unbreaking functionality
in a web page but not letting go of the reins means understanding more
about HTML, CSS, and other web programming that the typical user hasn't
a clue how to fix a broken web site other than to whitelist the whole
site. Yes, it can be useful but more often is a pain and causes too
much interference that casual users won't understand. It's like handing
someone a toolbox with every tool needed for all jobs and expecting that
alone to give them the expertise to replace head gaskets, adjust valve
lash, replace valve guides, or anything beyond oil and filter replace.