我应该担心人们禁用Javascript吗?


15

通常,在选择新工具和框架时,会看到警告“如果用户禁用了Javascript,将无法正常工作”。然后,我看一下我的Javascript幻灯片,Javascript菜单和Javascript画廊。有趣的是,由于担心会看到它们的人数,所以我选择了这些替代基于Flash的原始版本。

但是担心人们禁用Java脚本是否合理呢?我应该在设计网站时考虑禁用JS吗?

Answers:


13

这取决于站点,其目的以及人口统计。

如果要设计政府网站,银行网站,公司主页等,则绝对应确保该网站在没有JavaScript的情况下也可以正常工作。但是,如果您要设计一个Twitter / Facebook这样的娱乐/休闲网站,那么使用JavaScript并不是很糟糕。而且,如果您的站点是一个富互联网应用程序,那么如果没有客户端脚本(例如Meebo)绝对无法运行,那么使用JavaScript是绝对合理的。

尽管典型网站上的大多数功能可能都不需要JavaScript。将用户体验集中在启用了JavaScript的客户端上是可以的,但是,如果您正在运行一个论坛,则应确保用户仍可以在没有JavaScript的情况下发布/阅读消息,即使这意味着界面更基本。


4
莱塞提到的对政府或公共网站的要求称为508合规性:section508.gov
XOPJ 2010年

21

我很惊讶没有人提到渐进增强。几乎没有充分的理由拥有需要JavaScript才能工作的功能或内容。是的,JavaScript可以使用户体验更好,但是并不一定需要它才能使用户体验成为可能

所以我的答案是,您应该构建您的网站,以便每个人都可以访问所有内容,即使没有JavaScript也是如此(假设公开可用的内容。网站管理员,Intranet等都是明显的例外,因为您可以在这些情况下切实地规定浏览器的要求)。

编辑

哦耶。这也是搜索引擎友好的。JavaScript不是。


让我们看一下,基于Java的下拉菜单,因为我还没有看到可以使用的基于CSS的纯CSS(下拉菜单是实际要求),所以在首页上显示了Javascript幻灯片,以替换自Flash以来基于Flash的旧菜单。 .. flash(必填),以及一个用于增强界面的可用性和友好性的Javascript画廊(在新标签页中打开扩展图片后再也不会喜欢它了,在我看来,它看起来和作用都非常糟糕)。确实没有其他选择
TheLQ '11

1
“因为我还没有看到可以使用的基于CSS的纯文本”。我使用CSS菜单,它们工作得很好,您可以在那部分进行详细说明吗?

3
@Waleed:纯粹基于CSS的下拉菜单的一个潜在问题是它们的响应速度太快。好的JS下拉菜单会延迟鼠标输出事件,以避免出现对角线问题(当到达子菜单项之前暂时离开父菜单项时)。您无法使用CSS来做到这一点,因此您必须以这样一种方式设计菜单,即用户只能垂直或水平移动鼠标才能进入子菜单项。但是,我同意您应该从基于CSS的菜单开始,并逐步使用JS对其进行增强,以便基本导航不需要JS。
冒犯君主

1
@Lèse,虽然您不能延迟使用CSS菜单,但是有一些技巧可以解决此问题,并且令人惊讶的是它们实际上工作得很好(例如,参见cssplay.co.uk/menus/final_drop3.html)。另外,请查看cssplay.co.uk/menus/vertical-list.html上的演示,以了解复杂的CSS菜单。绝不意味着我要提倡不要将javascript用于菜单。我要说的是,如果不需要javascript就可以做到,那为什么要使用esp esp。与网站导航一样重要的事情?

2
@TheLQ,您提到的所有内容都可以在没有JavaScript的情况下完成。您提到的JavaScript只是一个增强。应该使用渐进增强的所有完美示例。
约翰·孔德

3

Nicholas C. Zakas告知,访问 Yahoo网络上站点的实际访问者流量约有1%发出了禁用JavaScript的请求。

...绝大多数用户使用支持JavaScript的浏览器,因此可以利用开发人员和设计人员喜欢创建的所有增强功能和动态界面。从计划的角度来看,将更多的时间花在最大数量的用户获得的体验上是有意义的,并且知道您的时间投入是值得的。

因此,请找出您自己网站的统计信息并进行构建,以使其对大多数用户有利,并且对于那些已禁用JS的用户而言仍会优雅地降级。


0

不需要担心,不。

话虽如此,使您的网站可访问和可用是一个好主意。通常,大量使用JavaScript和可访问性并不能很好地结合在一起。

因此,只要您的网站在关闭JavaScript的情况下仍然可以使用,那么您的状态就很好。即使网站不一定像您希望的那样看起来很棒。


0

没有JavaScript,Facebook将无法运行。我了解到,大多数没有JavaScript的人可能不会订阅您的产品。我们使用JavaScript来增强用户的体验,但并不要求这样做。

因此,您的网站应该可以在没有JavaScript的情况下正常运行,但外观不一定不错。如果有人在未打开JS的情况下访问您的网站,那么他们可能是BOT,黑客,99岁的老兄,或者是试图加快连接速度的拨号连接怪胎。

如果您提供商业产品,SAS或云应用程序,则不必担心这小部分用户。开发时间不值得,他们可能再也不会订阅您的服务了。

如果您使用JavaScript在电子商务商店中存储购物车项目,那么我将研究该体系结构并确保您提供非js功能。


我知道您的意思,但是无论是否使用JS,您的网站都应该看起来不错。确实不需要JS具有漂亮的网站。
冒犯君主

我对此表示同意。但是可以说,您有一个仅在启用javascript时显示的菜单,或者可能是使用大量javascript的工具,那么我不必担心仅为了满足少量用户而建立2个版本的问题... 80/20规则适用
弗兰克(Frank)

2
只需确保菜单是针对纯JavaScript的功能或非重要的增强功能(例如所见即所得的编辑器)即可。您的网站应该可以在没有JavaScript的情况下进行导航。否则,值得花费时间来制作在没有JavaScript的情况下也是可见的菜单。
冒犯君主

1
渐进式增强不需要两次构建站点。而且,如果您的网站不介意损失其潜在收入的20%,那就可以了。但是,请尝试告诉某人您只愿意放弃您20%的收入,只是因为您不想做一些额外的编码,而是看看他们的反应是什么。也可以和客户一起尝试。
约翰·孔德

是的,但在这种情况下,它实际上不是20/80,更像是1/500。我们最近完成了使用卡布奇诺包装在adobe air ajax应用程序中的合作企业的高端站点。该应用永远无法正常运行,甚至在关闭javascript的情况下也无法运行。我认为每个应用程序都是不同的,但是它再次告诉了我很多时间,如果不打开javascript,facebook将无法正常工作。我的规则是,如果您要出售某种商品,则无需使用javascript就可以进行销售,除此之外,javascript是必须的。
弗兰克(Frank)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.