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

但是担心人们禁用Java脚本会带来正当的担忧吗?我应该在设计网站时考虑禁用JS吗?

#1 楼

这取决于网站,网站的目的以及受众特征。

如果要设计政府网站,银行网站,公司首页等,则绝对应确保该网站无需JavaScript就可以运行。但是,如果您要设计一个Twitter / Facebook之类的娱乐/休闲网站,那么使用JavaScript并不是很糟糕。而且,如果您的网站是一个丰富的Internet应用程序,如果没有客户端脚本(例如Meebo)绝对无法运行,那么使用JavaScript是绝对合理的。

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

评论


莱瑟提到的政府或公共网站的要求被称为508合规性:section508.gov

– XOPJ
2010年11月1日,下午1:53

#2 楼

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

所以我的回答是,您应该构建自己的网站,以便每个人都可以访问所有内容,即使没有JavaScript(假设公开可用的内容。站点管理员,Intranet等都是明显的例外,因为您可以在实际情况下实际规定浏览器的要求)。
。这也是搜索引擎友好的。 JavaScript不是。

评论


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

–TheLQ
2010年11月1日,3:08

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

– Mee
2010年11月1日,下午4:55

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

–Lèsemajesté
10-11-1在7:15



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

– Mee
2010年11月1日,11:10

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

–John Conde♦
2010年11月1日,11:58

#3 楼

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


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


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

#4 楼

不必担心,不。

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

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

#5 楼

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

因此,您的网站无需使用JavaScript即可正常运行,但外观不必看起来很好。 99岁,或者拨号连接上的怪异对象试图加快速度。

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

如果您使用JavaScript将购物车中的商品存储在电子商务商店中,那么我将研究其架构并确保您提供非js功能。

评论


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

–Lèsemajesté
2010年11月1日于7:18

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

–坦白
2010年11月1日于7:34

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

–Lèsemajesté
2010年11月1日在8:53

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

–John Conde♦
2010年11月1日于12:06

是的,但在这种情况下,它实际上不是20/80,更像是1/500。我们最近完成了使用卡布奇诺包装在adobe air ajax应用程序中的合作企业的高端站点。该应用永远无法正常运行,甚至在关闭javascript的情况下也无法运行。我认为每个应用程序都不同,但是如果没有打开javascript,facebook将无法正常工作,这再次告诉了我很多。我的规则是,如果您要出售某种商品,则无需使用javascript就可以进行销售,除此之外,javascript是必须的。

–坦白
2010年11月1日在21:23