The first time I encountered this problem was in the era of DHTML. We do all kinds of things with browsers, plus a variety of animated menus, 3D tags (we've learned to stop using them now), but we've always been told that JavaScript is not available.
Who has disabled JavaScript
The first question to ask is where these JavaScript environments are not available. Here are some possible answers:
Security systems such as noscript or corporate proxies filter out JavaScript;
Feature phones like old BlackBerry (I remember swapping old BlackBerry to opera Mini to get a decent internet experience);
In a mobile application environment, pictures and scripts are sometimes split-processed;
In areas with limited flow or slow access;
JavaScript has been disabled for personal reasons;
Hate ads pop-up ads and other strong people.
As you can see, JavaScript has been disabled for a variety of reasons, passive and active. So it cannot be said that only people who use the Internet will encounter such problems.
Why JavaScript is disabled
As listed above, JavaScript is disabled for a variety of reasons. If it is intentionally disabled, then I guess the main reason is the following three points, namely security considerations, advertising fatigue and slow connection.
Safety considerations are understandable. Almost every attack on the client is using JavaScript (in most cases exploiting the vulnerability of the plugin). Java is, of course, the most current security vulnerability, but JavaScript can also pose a security threat to vulnerable web sites or unprotected or outdated browsers and operating systems.
A slow connection is a very interesting reason. Ironically, we use JavaScript to speed up the client experience. One example of using JS in the first place is to validate the form at the client to avoid unnecessary work cycles on the server side.
If you're in a bad connection (such as a wireless connection or a bad 3G connection), you want to use Google Reader or Gmail, you can only get an incomplete page, at which point you can work better with a lower version.
for both sides.
The best experience to be based on the environment and the connection to the user is very good. This is also the problem studied by progressive enhancement (progressive enhancement). This is not a very advanced thing, it is very simple, and is in full pragmatism.
The use of event authorization techniques is very simple. You can write your own HTML by clicking on the handlers of the parent element, using innerHTML or some other newer and faster technology.
Why is such a problem
Frankly speaking, I'm not quite sure. Maybe it's because I'm out of style, maybe because I've been disappointed with the browser and the Internet once in a while, maybe because I just want to be safer. I just don't understand why people just want a JS solution, but in fact, JS is just used to provide some enhancements.
The Obscure application edge case
It is often questioned that "application requires JavaScript". If we are honest enough, we will find that such an application is actually very small. If you have to say something, I can only think of Photoshop in the browser or some other editor (such as video, the IDE in the browser) that relies on JavaScript. Others can be fixed by reloading and some parts of the server side.
Let's face the fact that the server side can also be written in JavaScript in the Node.js era. Dav Glass of Yahoo two years ago shows that if a tool library is written in a separate environment, you can reuse these tools at both the client and server side.
The real reason "application needs JavaScript" seems to be the other reason, not the technical one.
The real reason for "application needs JavaScript"
Just as there are many reasons to disable JavaScript, there are many reasons why applications need JavaScript.
You only know JS and think people should upgrade their browsers. That's understandable, but it's a very narrow view, and it's easy to fail.
The team that builds the application with you has no server-side skills, and you want to do it at a lower cost. This may work, but it could double development time and funding. Plan ahead for such a development.
You want to write the application as soon as possible, and you know that you will rewrite the application later. This is a very common phenomenon, especially if you can succeed. May God bless you, and never let anyone know that you will stay long.
Your application will run in a pure JS environment. This of course means that you do not need to use JS to complete your application. A good example is the air applications. But make sure the environment doesn't go wrong in the future.
Your application does require JS to run. If this is the case, do not provide it to users without JS. Explain to people why and how to do it (try to avoid telling people that they need to open JS because they may not be able to do it and be more disappointed) and use JS to redirect to your application.
Summarize
In short, the problem with JavaScript dependencies is not just a technical reason. It raises questions about old technology practices and has a significant impact on maintainability.
It can be said, if we can ask "why we need JS" rather than "why people do not have JS", the discussion on this issue is more effective. If our technology can adapt well to different needs, it makes no sense to blame people for not being able to keep up with the development of the Web.
It also makes no sense to show the user that they can solve the problem by opening or closing the widget in the browser. When an ordinary user is stuck in your application, this is not a way to tell the user what happened.
Perhaps all of these issues will not be a problem until node becomes mature and pervasive. I will be happy to see this.
Original link: "JavaScript not available" case