Re:Building a new Windows 3.1 app in 2019: A Slack Client
by Tepix on Thursday December 19, 2019 @04:10AM
(#21833240)
Why would notscript not work on a browser that has no concept of JS?
[ Parent
| on HN ]
Re:Building a new Windows 3.1 app in 2019: A Slack Client
by shakna on Thursday December 19, 2019 @04:33AM
(#21833346)
Because the <noscript> element isn't valid for the stricter form of HTML that they use. Invalid elements didn't used to show up.
Re:Building a new Windows 3.1 app in 2019: A Slack Client
by cesarb on Thursday December 19, 2019 @05:57AM
(#21833769)
From what I recall of that era, it's the exact opposite: invalid elements (like <noscript>) are simply ignored, and their contents shown. That's how <noscript> works: newer browsers which understand JavaScript know the <noscript> element and ignore its contents; older browsers which do not understand JavaScript don't know the <noscript> element so its contents are shown. The same trick is used for <noframes>: browsers like Netscape which understand frames don't show the contents of that element, while other browsers which don't understand <frame> and <frameset> will show the content of the <noframes> element, so it can be used as a fallback.
Strict validation of HTML came later with XHTML, but AFAIK all browsers which understand XHTML also understand JavaScript.
Re:Building a new Windows 3.1 app in 2019: A Slack Client
by shakna on Thursday December 19, 2019 @09:08AM
(#21834976)
XHTML came after HTML 4.0, so it had its advent around the rise of JavaScript's popularity.
However, HTML 2.0, which you can find specified here [0], and it specifies the "ignore" behaviour. Short of spinning up an old VM, I think I'll trust that my memory hasn't failed me.
From RFC 1866:
> markup in the form of a start-tag or end-tag, whose generic identifier is not declared is mapped to nothing during tokenization. Undeclared attributes are treated similarly...
> For example: > <div class=chapter><h1>foo</h1><p>...</div> > => <H1>,"foo",</H1>,<P>,"..."