Web开发:我们还需要支持非JavaScript用户吗?

Nic*_*ick 22 javascript

背景:我正在开发一个电子商务网站.我的初衷是在常规html页面上添加JavaScript,以便JS支持的用户获得额外的好处,但没有它的用​​户仍然可以使用基本的html表单将东西添加到他们的购物车,搜索等.

我遇到过一些情况,其中没有一种理智的方式以非JavaScript的方式实现某些功能.

一个例子是产品页面上的链式属性选择(颜色选择根据所选尺寸而变化,因为不是所有尺寸都有每种颜色).即使我没有使用AJAX,它仍然需要JavaScript来动态更改选项.

我能想到的唯一JavaScript替代方案是:

A.添加到购物车"向导",您必须在单独的页面上逐步浏览每个属性选项(哎呀!)

B.将每个尺寸/颜色变化作为单独的产品(并强制客户趟过类别页面以找到他们想要的颜色大小组合)

...虽然无论用户是否使用JavaScript,上述两种方法都能正常工作,但他们都会通过重组页面并强制他们使用专为最低公分母设计的界面来惩罚JavaScript用户.

所以问题是,由于JavaScript在Web开发中的作用比几年前要大得多,而且AJAX/JS应用程序/站点的设计模式现在与"经典"Web设计模式有很大不同,我们是否还会竭尽全力支持非JS用户?或者我们说,"跟你一起去吧!更新你的浏览器,打开JavaScript或去其他地方购物"?

我有兴趣看到其他开发者对此的看法.

Bry*_*ore 15

我认为这取决于你的目标受众.我在一家拥有多种类型网站的公司工作,有些专注于你的平均玩家或玩游戏的人.我们的统计数据告诉我们,绝大多数人都启用了javascript.

我们还有一个专注于开发人员的网站,其中许多开发人员不允许在网站上运行javascript,除非他们信任它.我已经看到该网站上多达20-30%的浏览器没有运行javascript.

所以这是非常主观的.

恕我直言,使用大量有品味的 javascript来增强其他平凡的体验是非常合理的.但是,我也认为如果可能,它应该优雅地降级.只要你在设计时考虑它,这种退化形式(在大多数情况下)并不难实现.

  • 能够告诉有问题的人"禁用javascript,按照说明操作,它只会工作"是一个很好的临时解决方法,所以他们可以完成他们的工作,你可以实际解决问题,而不是"整个网站是整个组织瘫痪了!" 所以:优雅的降级或破产. (6认同)

Ran*_*rtz 14

最重要的非JavaScript用户是Google.别忘了.


jay*_*jay 13

谈到像Ajax这样的东西,或者任何javascript,我觉得最好:

从一开始就规划Ajax; 最后实施Ajax - Jeremy Keith

这意味着拦截(劫持)链接和表单使用(不引人注目的)JavaScript使您的代码在没有启用javascript的情况下很好地降级.如果要显示精美的滑块,请将其设置为一个链接,告诉服务器在您重新加载页面时显示div,并告诉您的javascript在单击链接时执行不同的操作.

对于功能齐全但有趣的网站而言,这些想法是您最安全的选择.


Pek*_*ica 5

我认为,支持非JavaScript的用户绝对必要的任何网站瞄准某种"正常"的目标群体(即不是游戏玩家或技术人员)的.

  • 越来越多的移动设备访问并尝试解析正常内容.
  • 出于安全原因,许多企业网络仍然会阻止脚本编写 - 您也不希望失去偶尔的员工购物.
  • Javascript往往会破坏任何可访问性的尝试.在我看来,创建尽可能易于访问的网站是对我们人类同胞的服务.

我不是说我是百合白.我讨厌在静态HTML中复制我在JS框架中实现的功能,或者让它优雅地降级.但我认为这仍然是必须的,而不仅仅是盈利问题.这是值得投入一些额外的东西,或者做一些无偿的工作.