Web 开发人员是否应该继续花精力使用 JavaScript 逐步增强我们的 Web 应用程序,确保功能正常降级,从而确保可访问性?或者我们应该把时间花在新功能或其他开发领域上?

这个问题的潜台词是:我们有多少客户/客户/用户在禁用 JavaScript 的情况下使用我们的网站或应用程序?您是否有任何项目的要求特别要求 JavaScript 功能(几乎我的所有项目都这样做),并且这些要求是否也要求优雅降级?

为了问这个问题,我在没有启用 JavaScript 的情况下打开了programmers.stackexchange.com,并收到了以下消息:“程序员 - Stack Exchange 在启用 JavaScript 的情况下效果最佳”。登录很困难,尽管该网站似乎总体运行良好。(我无法对任何问题进行投票。)

我认为这是一个令人满意的发展方式。想象一下,让网站的所有功能都能与普通的旧式 HTML 和服务器端逻辑配合使用所需要付出的努力。另一方面,我想知道有多少用户被这种做法疏远了。

我们都接受过使用渐进增强的培训(至少是我们当中优秀的开发人员),并确保我们的 Web 应用程序的动态功能正常降级。这种渐进式增强只是无稽之谈,还是我们的一些客户实际上在没有启用 JavaScript 的情况下使用某些 Web 服务?

有帮助吗?

解决方案

我用 noscript 但是白名单我实际上打算使用的任何网站。

安装NoScript,JavaScript,Java,Flash Silverlight以及可能的其他可执行内容是 默认情况下阻止. 。你将能够 允许 JavaScript/Java/...执行...在您信任的网站上有选择地。您可以允许网站暂时运行脚本,如果您只是随机冲浪,或者在经常访问并真正信任它的情况下永久冲浪。这意味着NoScript从您自己的浏览器习惯中学习,并且一段时间后倾向于在后台消失,但是如果您偶然发现了恶意网页,它很快就会恢复一天。

当您浏览包含阻塞脚本的站点时,显示了与弹出窗口阻滞剂发行的网站相似的通知。
查看它或状态栏图标以了解当前的NoScript权限...

http://noscript.net/noscript/ss0.png

其他提示

我想没有JavaScript的人的百分比可以忽略不计。但是,请小心搜索引擎机器人!他们通常不使用JavaScript,但是您不希望他们因此跳过您的一些重要内容,对吗?

自Web浏览器黎明以来,我总是浏览JavaScript启用并具有。

我从来没有一个问题值得降低我的浏览器体验。也许有一些弹出窗口或其他烦恼,但我认为的好处远远超过了风险。

在Linux上使用控制台时,我有时会使用 山猫 当 GUI 不可用时。据我所知,lynx 根本不支持 JavaScript。

我还使用过较旧的移动浏览器,其对 JavaScript 的支持很差。

然而,在这种情况下,我不希望从该网站获得完全的可用性。我通常只是使用互联网快速查找一些东西(例如获取电话号码)。因此我认为你网站的非JavaScript界面​​应该仅限于被动参考的角色。Stack Exchange 就是一个很好的例子,你可以查找答案,但不能投票。仅供参考。

当我不在家里或办公室时,我会定期从智能手机的网络浏览器上浏览网络。尽管它支持(至少一个子集)JavaScript,但并不总是很好地处理它。我发现许多网站无法使用,因为它们要么消耗许多资源,要么只是崩溃了浏览器。

我更喜欢内置的浏览器,但是如果其中一个人做得更好,我会保留两个备用浏览器。

该线程中未提及的一件事是,如果您的脚本断开了。在许多情况下,该页面上的脚本进一步执行可能会被禁用,因此需要一种退缩的方法来进行更简单的导航方式。

脚本可能因各种原因而破裂,但是最明显的脚本是对.js文件的不完整请求,这些脚本可能会更改DOM(adblock, )或介绍不太姓名的对象。

这与明确禁用脚本或其他任何人的人无关。附带说明,许多现代路由器,防火墙软件等通常都具有从网站上禁用/过滤脚本,闪存等的功能,因此甚至可以在网络层上配置它,使用户不了解(思考)公共咖啡馆,学校或其他偏执狂人们已配置互联网的环境)。

这通常是我的主要论点,即至少在网站的基本功能(布局和导航)的基本功能(至少使用)。

我禁用JavaScript的唯一一件事就是测试自己的网站。但是,您可能对 学习 Yahoo确实发现了1-2%的用户在禁用JavaScript。雅虎的受众可能是普通用户的很好代表。

该研究的关键报价:

虽然2%的访客似乎并不多,但请记住,超过3亿用户访问Yahoo!每个月的主页。这意味着每月有600万用户访问没有JavaScript的好处。因此,即使值得将您的时间花在启用JavaScript的网站上,但仍然有不平凡的用户无法使用它。

我用 noscript 随着 Adblock Plus 每时每刻。

今天的网络太敌对了(侵入性的JavaScript +烦人的广告),无法无保护。

当然,您在这里获得了一个非常偏斜的样本,您可能会在自己的网站上进行自己的研究。

我个人使用noscript。我很少不愿意像白名单一个网站一样,但是确实值得我这样做。 (换句话说,我需要一个原因,但不必很有说服力。)

或我们当中的一些人实际使用 肯定 未启用JavaScript的Web服务

是的。

我的浏览分为三类。

正常浏览 - 在Safari或Chrome上(Mac OS X)
-Igoogle,堆栈溢出,一些博客

特别的 网站: : - Firefox,带有NoScript,Adblock Plus和Flashblock
具有不必要的JavaScript的站点。 (如果这很重要的话,一些印第安人的宝莱坞电影/音乐网站。 不必要的剧本 - 页面本身每5分钟左右重新加载)

移动浏览:
我曾经有一个诺基亚5310。现在,我有一个更年长的索尼爱立信W700I。我旅行时浏览使用它(歌剧迷你非常好)。这是JavaScript(缺少)JavaScript的位置。我不想(主要是)与网站进行互动,只是阅读。仍然大多数站点是 不可能的 查看。

只是阅读 务实的程序员“ HTML5和CSS3”. 。作者说,有5%的用户已关闭JavaScript。

这是他的消息来源: 欧盟和美国JavaScript禁用索引号 + Web Analytics数据收集影响.

JavaScript禁用索引号

欧盟:1.4%
我们:3.05%

资料来源:1.000.000.000使用Indextools跨多个行业Web属性访问。
(vutialrevenue.com/blog - Dennis R. Mortensen)

http://visualrevenue.com/media/uploaded_images/JavaScript-Disabled-735171.JPG

看起来百分比也下降了。

我倾向于安装我信任的noscript和只有白名单网站。否则,我需要在需要时使用“暂时允许”。

这只是很好的安全性。否则,您允许在计算机上运行任意数量的代码!即使是沙箱,也总是有漏洞。

除了我自己的习惯之外,即使大多数人都浏览了JavaScript,也要牢记逐步增强的网站仍然很有用。如果您的网站在基线上有效,则可以为最大的受众提供服务。这也意味着您将数据与视觉设计和业务逻辑分开。无论如何,您对客户端上的JavaScript的大部分工作都应该在服务器端完成 - 进行客户端应该只是给网站用户提供的便利。

当然,有一些例外需要JavaScript,但通常涉及期望。例如,有期望启用JavaScript Biolab灾难, ,一个游戏,但没有一个网站 列表, ,主要是文字。

当我填写表格时,是否真的期望我有JavaScript能够提交表格?为什么?因此,JavaScript代码可以检查以确保我没有输入数字而不是字母?

JavaScript被禁用 默认 对于我们的Windows服务器框上的人。我们的IT策略阻止了如此多的网站,读取某些内容的唯一方法是在服务器上冲浪,默认情况下JS被禁用。

尽管这不是我首选的配置,但有时我需要做的。

我使用Google Chrome + Adblock Plus,并打开JavaScript。

编辑:我使用 notscript 现在。 :)

单独使用Chrome会阻止几乎所有弹出窗口(我只找到了一个网站[Chess.com]一次破裂),并且Adblock摆脱了所有广告,因此我对这些广告没有任何问题。

IMO,JavaScript为您提供了总体“更好的体验”,只要您访问值得信赖的网站(尚未被黑客入侵...),您就可以了。作为“计算机伙计”/开发人员,我相信我们应该具有非常敏锐的“互联网感”,并且能够判断网站是否可能是恶意的。

我认为,可访问性几乎胜过其他一切。依靠辅助技术的用户应该始终能够获得站点的大部分功能,即使可能需要更长的时间。有多少用户依靠它至关重要的都没关系。我很高兴我为开源Web项目编码,其中可访问性是主要重点之一,实际上,我了解如何使事情发生在两种方式上 - 有或没有JavaScript。 (以及许多其他与可访问性有关的事物,因为JavaScript或不只是问题的一小部分。)

有一份有趣的问卷,我刚刚提到的项目用户的答案是他们使用的技术 这里. 。您可能感兴趣。

嗯,现在我觉得 欧米茄男人. 。 :)显然我是 最后的 实际上确实变成JavaScript(和cookie)的人 离开. 。 (除非我需要特定网站,例如堆栈溢出。)

我怀疑我错过了很多 - 通常是我 打开网站的JavaScript,它可以做点什么 完全 毫无用处,例如让我向完全陌生人吐出大量的个人信息,或向我展示一些动人的广告 - 正是我想要的东西,在我试图专注于阅读文章的同时,屏幕上的一些随机运动...

我刚刚在Askubuntu.com上回答了一个问题 - 目前(暂时)在网站上启用JavaScript。当我认为这很清楚时,我使用noscript并启用JavaScript对网站启用。默认情况下,我以前从未访问过的网站JavaScript已关闭。

我愿意。一直以来。当浏览器被沙盒时,而不是以前,我将退出。

人们一直在谈论这个决定,好像是二进制的。您要么优雅地退化,要么不会。相反,您为什么不考虑为每个功能优雅地降级的成本与好处呢?例如,您可以确保该站点具有基本功能,但是仍然需要JavaScript才能使用特定功能。

还请记住,许多禁用JavaScript的人这样做 因为 他们想使用一个仅带有裸露必需品的轻便脱衣网站。您可能会花所有的时间使您的铃铛和口哨声适合专门试图避免它们的用户。

人们抱怨说,优雅地退化是如此之多。如果您抱怨它的工作量,那么您可能正在研究一个需要JavaScript的功能。

我认为,没有JavaScript的用户应该始终能够浏览网站,使用联系页面并阅读您拥有的任何文章或博客文章。对于任何更复杂的功能,请根据工作与所涉及的福利进行判断。

我只将其转向浏览PR0N(不好的社区!);-)

我放弃了试图将其关闭以进行定期浏览,因为事情破裂了。有时我什至不知道它被打破了,直到我重新打开。

如果您的网站可以由残疾人使用,那么确保有JavaScript的备份是一个好主意。

网站策略和计划是 具体情况. 。也就是说,网站根本不需要支持IE浏览器,更不用说考虑支持的小问题 边界拉迪乌斯 CSS3。但是其他网站甚至可能需要向后兼容IE6。

我们如何了解我们必须为网站计划的计划?部分是根据我们的经验。目标程序员和开发人员的网站可以确定他们的用户使用漂亮的新浏览器,几乎所有功能都打开了。但是,新闻网站应该认为,来自地球未知点的人可以连接到他们的网站,以查看他/她的国家的内部人士。

但是除了我们的经验和直觉外,我们还需要安装某种 分析 在我们的网站上提供服务,以便根据统计数据,我们的未来决策将更加健壮。例如,Google Analytics(分析)是一个非常好的工具。从那里,您可以看到您是否真的需要支持较旧的浏览器。

但是,如果我们想遵循W3C的Web可访问性指南,那么我们绝对应该支持很多事情,而无需考虑特定地点的情况。

在您的特殊情况下,我说 . 。我们可以肯定地忘记中小型网站中的无脚本。但是对于更大的项目,在您的页面中包含更多标记并不是一个坏主意。

我无法确定该线程上的某些答案是很有趣还是严重:饼干比JavaScript更危险?哈哈

任何站点都应使用JS和Cookie进行测试,但是,这是最小的恕我直言。

不要忘记饼干。我认为Cookie比JavaScript更危险。我曾经是NoScript用户,但我已将其关闭以支持白色cookie网站。

只有客户明确要求

除非您有大量的用户将受到影响,否则这只是额外的努力。

我总是有javascript。我的身边也总是有最低还原套件。

我们需要JavaScript的行否决线禁用,因此我可以说“没有警报,没有重定向,没有Websocket”。功能在 Webkit 至少从控制台和各种检查员来看。

但是,是的,总是在javascript上。主要是因为很快人们会使用网络插座来造成各种邪恶,就像Flash获得“ Cool” VM时发生的一切一样。然后我关闭JavaScript。如果他们让我当然。

我想尽我所能。因此,我对这个时代有一些愉快的回忆。我想留下深刻的印象,我想在JavaScript的愚蠢中咯咯笑,因为我真的很想念我们在2007年所拥有的东西,诸如春水之类的免费甜蜜信息流,到处都是开源。

直到我不得不,我不会关闭它。

从实时CD/DVD(实际上或在VM中)启动使我在让Flash和JavaScript做他们的事情方面感觉更好。如果我没记错的Linux 薄荷 开箱即用。

就站点开发而言,我通常在JavaScript中进行合理的DIV交换和菜单,但是我试图使所有内容看起来正确并基本上与CSS一起使用。

我没有专注于确保整个页面优雅地退化,而是尝试确保约75% (或更多,如果很容易或快速完成) 页面的优雅降低 (或工作 Sans JavaScript)。我还尝试确保这75%完成了页面功能的整个部分。

例如,我使用JavaScript加载博客上帖子的评论;它为我提供了灵活性,评论渲染的一致性,并帮助我保持自我强加的单个查询/请求限制。但是,您要去我的博客的主要原因 - 阅读帖子 - 保持服务器生成,并将与 任何 浏览器。评论在清洁中完全独立 .js 文件。

tl; dr键是 什么 优雅地退化,不是 多少钱 优雅地退化。

许可以下: CC-BY-SA归因
scroll top