Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

You CAN style stuff you put in <noscript>.

Of course, if your app breaks because of browser extensions, you should handle errors gracefully, but that goes beyond the no-js classname.

I just posted this since I haven't seen it mentioned and it's fairly useful.



>Of course, if your app breaks because of browser extensions, you should handle errors gracefully

Web developers don't do graceful degredation anymore.


Apps break even without browser extensions. A huge number of websites try to use localStorage, and do not check for errors. (localStorage will raise if the cookie settings for the UA do not permit storing data.)


> You can apply CSS to it too.

I read that as “you can apply CSS to a <noscript> tag”, which is false. Stuff within it, sure. But the <noscript> tag itself vanishes during document parsing.

I maintain my position: <noscript> is nowhere near as useful as it first appears, and should seldom be used.

I would even suggest that, excluding spiders, user agents that don’t run some or all JavaScript will normally be due to browser extensions. This is a fairly niche area overall, and various extensions are the main factor.


I think you're talking past each other.

To be clear, the noscript tag "disappears" when javascript is enabled in the browser. When javascript is disabled it behaves like any other tag and can be styled accordingly.

Extension can disable scripts selectively but in that case javascript is still considered enabled for the purposes of the noscript tag.


> But the <noscript> tag itself vanishes during document parsing.

This is wrong. In case the browser does not have JS (enabled) its a normal element.


I was indeed wrong about this. I’d grown used to uMatrix’s spoofing, where it does get changed, and misrecollected things. I have now refreshed my understanding from the spec: it’s still a parser feature in that that iff scripting is enabled, it parses its children as raw text (like <script> or the old <xmp>). (And then there’s the user-agent style on it, `display: none !important`, so that you can’t get it to appear whatever you do, unlike most normally-hidden tags like head, title and script.)

I apologise for misleading people.


Yes, you can see it in the dev tools/inspector.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: