我第一次碰到这样的问题是在DHTML的普及时代。我们不需要太多的浏览器,加上各种各样的动画菜单,3D标签(我们现在学会了停止使用它们),但是人们总是告诉我们Javascript是不可用的。

谁禁用Javascript

首先要问的是Javascript的不可用环境在哪里。以下是一些可能的答案:

安全系统如Noscript或公司代理过滤Javascript;
像老黑莓这样的功能手机(我记得把旧黑莓换成Opera Mini来获得互联网体验的时候);
在移动应用程序环境中,有时会删除图片和脚本。
在流量受限或通路缓慢的区域;
人们出于个人原因禁用javascript。
讨厌广告等强广告的人。
如您所见,Javascript被禁止的原因是多种多样的,被动的和主动的。因此,不能说只有使用互联网的人才会遇到这样的问题。

为什么Javascript会被禁止

如上所述,Javascript被禁止的原因有很多。如果是故意禁用,我想主要的原因有三点:安全考虑,广告疲劳和慢速连接。

理性的安全考虑。几乎每个攻击中的客户端都使用Javascript(在大多数情况下是使用插件漏洞)。java肯定是最大的安全漏洞,但Javascript也将在现场或没有保护或过时的浏览器和操作系统对存在漏洞的安全威胁。

慢速连接是一个非常有趣的原因。具有讽刺意味的是,我们使用Javascript来加速客户体验。最初使用js的一个例子是验证客户端上的表单,从而避免服务器端不必要的工作循环。

如果你在一个非常贫穷的连接(如无线连接或一个坏的3G连接),如果你想使用谷歌阅读器或Gmail,你只能得到一个不完整的页面。只有当你使用低版本时,你才能更好地工作。

为了双方的利益

基于环境和连接,用户的最佳体验是非常好的。这也是逐步增强研究的问题。这不是很深。这是非常简单和完全的实用主义。

使用事件授权技术是非常简单的。你可以通过点击父元素的处理程序自己写的HTML,使用innerHTML或其他一些更快的技术。

为什么这是个问题

坦白地说,我不知道。也许是因为我过时了,也许是因为我再次在浏览器和网络连接上可能感到失望,因为我只是想更安全些。我不明白为什么人们只想要js解决方案,但事实上,js是用来提供一些增强功能的。

一个莫名其妙的应用程序边缘案例

人们常常对Javascript应用程序有疑问。如果我们足够诚实的话,我们会发现这个应用程序实际上是非常少的。如果你必须说些什么,我能想到的是在浏览器或其他一些编辑PS图象处理软件(如视频、浏览器IDE)将需要依靠解决Javascript。可以通过一些部件并重新加载服务器。

让我们面对事实,在Node.js的时代,服务器也可以用于编写Javascript DAV。两年前的雅虎,如果一个工具库被写入更独立的环境中,那么你可以同时,客户机和服务器使用这些工具。

应用程序需要Javascript的真正原因似乎是其他原因,而不是技术原因。

应用程序需要Javascript的真正原因

禁用Javascript有很多原因,应用程序需要Javascript有很多原因。

你只知道JS,认为人们应该升级他们的浏览器。这并不坏,但它很窄,容易失败。
与您一起构建应用程序团队没有服务器端技术。你希望以更低的成本完成申请。这可能是有效的,但可能会使开发时间和资本增加一倍。我们必须未雨绸缪。
您希望尽早编写应用程序,并且知道稍后将重写此应用程序。这是一种很常见的现象,特别是如果你能成功的话。
应用程序将在纯js环境中运行。这意味着不需要使用js就不需要完成应用程序。一个很好的例子是AIR应用程序,但是你必须确保未来的环境不会出错。
你真的需要使用js来运行。如果是这样的话,不要将它提供给没有js的用户。要解释为什么和如何做(尽量避免告诉别人他们需要打开JS,因为他们可以做任何更令人失望的事情,并使用JS重定向)到你的应用程序中。

总结

简而言之,Javascript依赖问题不仅仅是技术上的原因。它对旧的技术实践提出了质疑,对可维护性产生了很大的影响。

可以说,如果我们可以问为什么我们需要js而不是,人们会问为什么没有JS

向用户展示他们可以通过打开或关闭浏览器组件来解决问题也是毫无意义的。当一个普通用户被困在你的应用程序中时,这并不是告诉用户发生了什么事情的方法。

也许这些问题在节点变得成熟和流行之后永远不会成为问题。我很高兴看到。
文本链接:javascript不可用案例