2009-11-17 61 views
21

背景:我正在开发一个电子商务网站。这是我最初的目的是在常规html页面上添加JavaScript,以便JS支持的用户获得了额外的好处,但没有它的用​​户仍然可以使用基本的html表单将其添加到购物车中,以便搜索等。网站开发:我们是否仍然需要支持非JavaScript用户?

虽然我遇到了几种情况,但其中并不存在一种以非JavaScript方式实现某些功能的方式。

一个示例是产品页面上的链接属性选择(其中颜色选择根据所选尺寸进行更改,因为并非所有尺寸都以各种颜色显示)。即使我没有使用AJAX,它仍然需要JavaScript来动态更改选项。

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

A.有一个放入购物车“精灵”,你必须逐步完成每个属性选择一个单独的页面(呸!)

B.把每个大小/颜色变化作为一个单独的产品(并迫使客户通过分类页面涉水找到他们想要的颜色大小组合)

...虽然上述两种会无论用户是否使用JavaScript,他们都会通过重构页面和forci来惩罚JavaScript用户让他们使用为最低公分母设计的界面。

所以问题是,由于JavaScript在网站开发中的作用比几年前更大,而AJAX/JS应用程序/网站的设计模式现在与“经典”网页设计模式,我们是否仍然用我们的方式来支持非JS用户?或者,我们是否说:“与你碰面!更新你的浏览器,打开JavaScript或去其他地方购物”?

我很希望看到其他开发者对此采取行动。

回答

15

我认为这取决于你的目标受众。我为一家拥有多种类型网站的公司工作,其中一些专注于你的平凡家伙或加入游戏的加利福尼亚。而且我们的统计数据告诉我们,这些人中的大多数人已经启用了javascript,其中广大的

我们也有一个专注于开发人员的网站,许多开发人员不会允许JavaScript在网站上运行,除非他们相信它。我看到该网站上多达20-30%的浏览器不运行JavaScript。

所以这是非常主观的。

恕我直言,这是非常合理的使用大量的雅致的 JavaScript来提高一个否则平凡的经验。但是,我也认为,如果可能的话,它应该优雅地降级。只要您在设计事物时考虑到这种情况,就不会太难实现(在大多数情况下)。

+6

如果能够知道谁是有问题的人“禁用javascript,按照说明,它将只是工作”是一个伟大的临时解决方法,使他们能够得到他们的东西做,你可以真正解决问题,而不“的整个网站都停了!整个组织都瘫痪!“所以:优雅的降级或萧条。 – 2009-11-17 01:44:32

+1

我同意这是非常重要的,当然有些应用程序,JavaScript的要求只是让事情变得更有可能。像谷歌地图一样。 – 2009-11-17 02:06:41

+0

我完全同意。处理这种事情的最好方法是使用不显眼的JavaScript。 – 2009-11-17 02:18:36

4

如果您可以排除不使用javascript的用户,那么这将是一些移动设备,或者真正的偏执狂,以及lynx用户,以及任何不使用您所写的JavaScript版本的用户。

如果你愿意去那个,那么我会建议你有一个静态的HTML页面,有一些消息,JavaScript是必需的。

当你的JavaScript被加载,并且DOM树已经准备好了,那么你可以用这个消息替换这个消息,所以它从来没有被看到,与网页的其余部分。

但是,您可能希望了解如何获得非JavaScript浏览器的功能,即使有限也是如此。

例如,对于颜色,你可以使用水平下拉菜单可以在所有但旧的IE浏览器中工作:http://www.alistapart.com/articles/horizdropdowns/

如果要使用JavaScript,使您的生活更简单那么这可能是一个贫穷的原因,但,如果你正在做一个photoshop网络应用程序,那么你将需要JavaScript。

注意我建议让它可以使用和不使用javascript,因为电子商务网站将不希望排除任何客户。

2

其中大部分取决于您的受众。正如你在多年前所说的那样,JavaScript被以不同的方式使用,甚至有点恼人。现在,随着AJAX和功能的增加,这是必须的,大多数人都开启了它。

你可以说Javascript被禁用的人被用来不经常工作的东西,还有一小部分人。

但是,如果您正在构建一个旧电脑或有限带宽人员经常光顾的站点(例如外部流量),则可能需要考虑解决这些问题。另外一个被移动浏览器严重访问的网站可能是另一个需要关注的网站。

看看你的分析结果,看看目前的用法是什么,然后分析你的观众,以真正发现。

2

最好的答案将取决于一个简单的比较:估计您将花费创建非JavaScript替代网站的额外资金。估计您向非JavaScript客户销售产品的金额。比较。如果你是一家大型商店,那么从最后2%或10%的用户获得销售额可能是值得的。如果你只是一个人,也许你有更多有利可图的方式来度过你的时间。

5

我认为支持非Javascript用户对于任何针对某种“正常”目标群体(即不是游戏玩家或技术人员)的网站来说都是绝对必需的。

  • 有越来越多的移动设备访问,并试图解析正常的内容。
  • 由于安全原因,许多公司网络仍然阻止脚本 - 您不想失去偶尔的员工从工作中购物。
  • JavaScript倾向于拧任何可访问性的尝试。在我看来,创建尽可能接近的网站是为我们的同胞服务的。

我不是说我在这个上是百合白。我讨厌复制功能,我刚才在我的JS框架中实现了静态HTML,或使其优雅地退化。但我认为它仍然是真的,真的是必须的,而不仅仅是一个盈利问题。这是值得投入一些额外的东西,或将一些无偿工作付诸东流。

+1

辅助功能也是我们的同伴机器人的一项服务,例如,谷歌。 – 2009-12-22 18:03:41

13

当涉及到的东西像阿贾克斯,或与此有关的任何JavaScript,我认为这是最好的:

阿贾克斯从一开始

计划;实现Ajax末 - Jeremy Keith

这意味着拦截(劫持)链接和形式使用(不显眼)的JavaScript使你的代码,以及降低对那些没有启用JavaScript的。如果你想显示一个花哨的滑块,使它成为一个链接,告诉服务器在你重新加载页面时显示div,并告诉你的JavaScript在点击链接时做不同的事情。

这些想法是一个功能强大但有趣的网站最安全的选择。

0

尽管为电子商务网站要求使用Javascript的逻辑性,渐进性,简单性和高效性,您应该问自己,是否愿意放弃非Javascript用户生成的业务的百分之十,并对较低的开发成本进行权衡。

业务损失的百分比可能不是非Javascript用户的百分比,因为非Javascript访问者可能购买商品的比例较小的是服务。失去业务的百分比可能会比非Javascript用户的百分比略低。

1

理论上,是的;但在实践中,不。

从理论上说,它支持硬件和软件的一系列功能和配置,适当地扩展站点功能,这符合网络的精神。

实际上,即使是移动浏览器正在聚合在当前主流桌面浏览器所占据的甜蜜点上。外面的用户通常可以切换到另一个浏览器或设备。

14

最重要的非JavaScript用户是Google。不要忘记这一点。

+0

+1 http://www.peterbe.com/plog/google-is-blind – 2010-03-13 11:03:39

+0

你是什么意思?谷歌是一个用户? ':-)' – Shafizadeh 2016-02-07 11:05:25

0

专注于为大量观众制作高级功能比花时间为非JavaScript用户和使用过时平台的人员寻找解决方案要好。

0

在那里我看来,两件事情你有想在网站上使用JavaScript时要考虑:

  • 是谷歌仍然能够如果网站的某些部分不能用来抓取所有内容
  • 没有JavaScript,然后为非JavaScript用户做出非常明确的信息,为什么你的网站没有为他们工作
2

我发现这个有趣和事实驱动的帖子,它可能有帮助。 Why we should support users without Javascript。以下是一个总结:

  1. 有些人选择关闭JS。
  2. JS偶尔失败,HTML/CSS不会。
  3. JS的设计和应该是锦上添花,而不是坏HTML/CSS的补丁。
+0

+1真棒帖子,总结了一直以来我一直试图用扎实词汇来表达的一切。添加了一个TL; DR回顾了你的答案;随意编辑或whatev。 – 2014-04-27 02:57:34

0

我认为我们需要支持非JavaScript的用户再次

有网友包括我谁也不对任何一种偏执的禁用JS,但是因为一些网站是如此沉重的JS现在我的浏览器变慢嘎然而止。而且这个最近变得更糟了,所以我希望更多的用户最终会这样做。我希望我的性能能够恢复,因此我安装了浏览器插件,让我可以选择性地启用网站上绝对必需的脚本。所以我可以再打开一打选项卡而不会出现性能问题。

相关问题