我们是否应该设计当今时代需要JavaScript的网站?

时间:2020-03-05 18:53:26  来源:igfitidea点击:

现在是2008年秋天,我仍然听到开发人员说我们不应该设计一个需要JavaScript的网站。

我了解我们应该开发在不存在JS /不在JS的情况下可以正常降级的网站。但是在什么时候我们不包括只能由JS支持的功能?

我想这个问题归结为人口统计问题。有没有没有JS的浏览人数?

解决方案

回答

在我们自己的Stack Overflow博客上提出了一个相关问题:http://blog.stackoverflow.com/2008/06/is-it-ok-to-require-javascript/

回答

如我们所说,人口统计。网络正在扩展到功能不强大的设备上,例如手机。如果网站无需使用JavaScript就可以使用,Opera Mini可能会显示网站而没有任何问题。

回答

两个简单的问题可以做出决定...

  • 使用javascript是否可以提供我们网站的某些核心功能?
  • 我们是否准备将潜在用户限制为拥有JS的用户? (即大多数人)

如果我们对这两个问题的回答都是肯定的,那就去做吧!

网站正在从静态信息页面移至(已移至?)到交互式Web应用程序。如果没有Javascript或者Flash之类的东西,有时就无法进行引人入胜的用户交互。

回答

我认为大多数现代浏览器中的Javascript实现现在已经达到一定的成熟度,并且有许多Javascript UI框架可让我们使用Web服务等(无论后端服务器平台如何)构建非常有吸引力的基于Javascript的Web应用程序。 )。

一个例子是ExtJS,他们有一个非常广泛的AJAX + UI小部件框架,我最近使用它为带有ASP.NET后端的客户端(用于Web服务)构建了一个完整的内部Web应用程序。

回答

根据这些统计数据,5%:http://www.w3schools.com/browsers/browsers_stats.asp

回答

这是21世纪。不允许使用JavaScript的人需要退出上一个千年,即回避。它是一项成熟,广泛使用且非常有用的技术,是最近有用网络服务扩展的基础之一。

回答

只要我们知道可能会引入的可访问性限制,即针对屏幕阅读软件的用户等。

排除人员是一回事,因为他们选择关闭JS或者使用不支持JS的浏览器,而由于残障而排除他们则完全是另一回事。

回答

我认为"仅内容网站"的时代已经过去。我们现在看到的是WWW逐渐成为Web应用程序的平台,并且浏览器方面的最新发展(特别是JS的加速)也表明了这一点。
我们应该决定问题的答案是否是肯定/否。在内容站点<----> Web应用程序连续体上的站点位于何处,以及JavaScript提供的体验多么重要。我认为是的,可以使用需要Javascript才能运行的Web应用程序。

回答

设计优雅地降级是应该做的最多的事情。我们已经/已经从简单的网站"站点"转移到了"应用程序"。除了客户端脚本之外,唯一的选择是向服务器添加往返行程。

我认为(个人观点)"不使用JavaScript"更多是由于缺乏对JavaScript的理解/了解,而不是任何表明大量人在不使用JavaScript的情况下进行的实际市场数据。

回答

我认为这取决于我们要做的事情。我们正在编写Web应用程序吗?然后,我认为我们一定会使用javascript和/或者类似GWT的东西。只需看看所有的社交网站,以及gmail等Google应用程序即可。如果我们要编写包含产品说明且几乎没有交互性的网页,则可以使javascript为可选。

回答

我们应该将网站的功能与受众联系在一起。话虽如此,每个现代的浏览器(保存在移动平台上)都包含javascript,因此,除非听众包括具有十多年历史的计算机的luddite,否则我们可以假定它们都具有javascript。

那么,我们需要担心的人就是那些专门将其关闭的人。这包括:

  • 具有严格安全性的公司网络(不常见,但一些金融和国防机构)
  • 偏执网头

所以,首先,谁是听众?还有其他与目标相当的网站吗?看看他们的场所和成功之处,他们会优雅地降级吗?我们对他们的成功水平满意吗?

但是,如果我们以移动应用程序为目标,则不能保证使用javascript。

-亚当

回答

设计使用JavaScript的网站是合理的,但是不能安全地假设所有客户端都支持Javascript,因此即使没有JavaScript也要提供令人满意的体验,这一点很重要

回答

我想说的是,我们应该关注目标受众。如果我们可以合理地期望他们将启用js,并且在没有任何js的情况下使所有工作都变得太痛苦了,那么无论如何,如果我们必须创建非js人群,那么请务必忽略非js人群。一个将被大量受众使用的网站/或者我们可能正在构建政府网站,那么我们必须确保一切正常,在这种情况下,首先构建该站点比较容易,这样它就不需要任何js ,然后添加所有不错的省时的ajaxy位。

总的来说,几乎每个人默认都启用了js。

尽管我们应该知道,无论哪种情况,都必须在服务器端验证用户发布的数据。

回答

优雅降级是必须的。至少,我们一定要使用NOSCRIPT标记,以便首先通知潜在客户网站需要javascript,然后告知我们为什么需要它。

如果说我不愿在意那些浮华的菜单和演示,那么我可能不会再来了。如果有确实的原因需要使用javascript(表单上的客户端验证,或者出于性能原因需要AJAX的实际情况),请这样说,访问者将做出相应的响应。

我安装了同时限制Javascript和Cookies的扩展程序。除非有真正的需求,否则没有明确指出两者要求的网站通常不会再次访问。

回答

我们绝对不应该设计一个公共站点来依赖任何技术/平台。用户代理可能不显示颜色(认为是屏幕阅读器),也不显示图形(再次认为是屏幕阅读器或者仅显示文本的浏览器,例如链接)等。

将站点设计为最低公分母,然后逐步对其进行增强,以增加对特定技术的支持。

要直接回答这个问题:不,我们不能假设用户使用Javascript,因此网站应该没有它就可以工作。完成后,请使用Javascript进行增强。

回答

与浏览器功能无关,与用户控制有关。为firefox安装了noscript插件的人不必再忍受拳打垃圾(与导致堆栈溢出相同的问题),他们不会信任我们,否则网站将无法做任何非静态的事情。

回答

在客户端软件方面,请考虑正在使用支持某些但不是全部Javascript的浏览器的用户/客户。例如,大多数手机浏览器都支持一点Javascript,但没有什么非常复杂的。 Playstation 3等设备上的浏览器类似。

然后是诸如Opera Mini之类的浏览器,该浏览器支持许多Javascript,但是在脚本在服务器上运行,然后将结果发送到移动设备的环境中运行。

回答

我同意大多数stackoverflow答复者。 JavaScript已经成熟,并为网页提供了"额外"级别的功能,尤其是对于表单。那些关闭Cookie和JS的人可能在危险的水域中冲浪时被咬了。对于在B2B或者零售网站上花钱买单的公司高级用户而言,JS是一种可靠的可靠工具。直到有更好的事情出现(而且将来),我才会坚持使用JS。

回答

我们应该在设计网站时考虑到Javascript,但不要实施。考虑一下,将其构建在每次单击,执行每个操作都将往返服务器的过程中。这是旧版浏览器和未打开JS的默认功能。

然后,在全部构建好并且一切正常之后,添加JavaScript劫持链接,按钮和其他事件,并将其标准功能与所需的Javascript功能重叠。

像这样构建应用程序意味着它将始终可以正常工作,而这最终是我们想要的。

回答

收到的明智答案是,我们可以使用JavaScript(或者其他任何技术),前提是它"正常降级" ...

我在残疾人组织方面有经验,因此可及性对我很重要。但同样,我从事的工作是建立有吸引力的可用网站,因此javascript可以成为强大的盟友。这是一个很困难的电话,但是如果我们可以构建一个功能丰富的,带有JavaScript的网站,而又不完全疏远非js访问者,那么我们可以这样做。如果没有,我们将必须查看站点的上下文并决定跳转的方式。

无论如何,这个问题没有对与错。但是,在某些国家/地区,要求建立"公共"站点以使其易于访问,因此这可能是我们做出决定的另一个因素。 [在英国,这是《残疾人歧视法》。尽管据我所知,没有一家公司因不遵守该规定而受到起诉]

回答

Firefox的一个名为NoScript的插件具有27,501,701次下载。如果网站没有JavaScript就无法使用,那么大多数人就不会使用它。

为什么要安装该插件?是否曾经想摆脱网站上包含我们想摆脱的大部分有用文本的弹出窗口?还是禁用Flash动画?还是确定邪恶的网站不会窃取Cookie?

回答

搜索引擎不支持JavaScript。他们也是盲目的,并且不支持CSS。因此,我对建议是确保产品中需要由搜索引擎索引的部分可以在不使用JavaScript和CSS的情况下工作。之后,这实际上取决于用户的需求。

如果用户子集非常有限,则可以实际查询它们。但是要记住,人口的10%患有某种形式的障碍,包括视力问题(低视力,色盲等)或者运动功能(手部敏捷度低)。这些问题在老年人和明知的残疾人中往往更为突出。

如果网站将目标受众定位为互联网用户,那么请使其正常降级,但是如果我们无法做到这一点,请制作一个非JavaScript版本(例如G-mail的版本)。

回答

某些公司环境不允许通过策略或者防火墙使用Javascript。它关闭了一条病毒感染途径的大门。

无论我们认为这是一个好主意,都应意识到并非每个人都可以完全控制自己的浏览器,而这并不是他们的选择。

回答

网站和Web应用程序之间存在梯度。但是,我们应该始终能够说"我们正在构建网站"或者"我们正在构建Web应用程序"。

网站应该可读到纯HTML(没有CSS,没有图像,没有JavaScript)。

Web应用程序当然只能说"对不起,需要JavaScript"(它也假定CSS用于布局)。应用程序仍应能够在没有图像的情况下工作。

回答

可访问性问题是唯一重要的技术问题,所有其他问题都可以进行社交设计。当一个人说javascript减少了可访问性,而另一个人说Web应用程序可以使用javascript时,我们能否将这两者结合起来暗示所有盲人都失业了?使javascript可访问性必须有某种动力。可能是javascript端的Screenreader对象,它可以检测屏幕阅读器的存在,然后向屏幕阅读器发送提示,可以连接到浏览器的Screenreader可以与屏幕阅读器工具栏粘合在一起。

回答

JavaScript非常适合扩展浏览器以执行诸如Google Maps之类的操作。但这是一种尖锐的乐器,因此请谨慎使用。

我的银行网站使用JavaScript在页面之间进行基本导航。叹。结果,它无法在我的移动设备上使用。

在考虑使用JavaScript时,请确保我们熟悉最小功率规则:

When designing computer systems, one
  is often faced with a choice between
  using a more or less powerful language
  for publishing information, for
  expressing constraints, or for solving
  some problem. This finding explores
  tradeoffs relating the choice of
  language to reusability of
  information. The "Rule of Least Power"
  suggests choosing the least powerful
  language suitable for a given purpose.

回答

如果我们想让美国前100家公司浏览网站。我会写没有JavaScript。

回答

尽管有实际的人口统计信息,但与Javascript无关和平稳降级对于应用程序而言仍然很重要-因为此类应用程序可能具有更好的软件设计。

"没有Javascript的人类用户"可能纯粹是假想的(例如,如果我们试图通过产品赚钱)。但是,为那个假设的用户进行设计会鼓励模块化软件设计,这将在我们继续开发应用程序时有所作为。

Javascript提供功能。 HTML提供数据(在页面本身上,以及通过指向更多数据的链接)。一般而言,浏览器应用程序以外的其他规则是:设计良好的软件产品会将数据与功能分开。所有数据都应该可用,并且功能应该是使用数据的单独层。

如果Javascript是在运行时创建数据,那么是时候进行具体说明并弄清楚网页确实是软件(例如抵押计算器)还是包含数据的文档(例如抵押利率列表)了。这应该告诉我们依靠Java语言是否有意义。

作为最后的注释/示例,人口统计信息可能会产生误导。相对而言,很少有人浏览不使用Javascript的网站,但是许多机器(搜索机器人,数据挖掘器,残障人士的屏幕阅读器等)正在浏览不使用Javascript的网站。同样,数据与功能之间的区别很重要-机器人只是在发出请求并在响应中寻找数据。他们不需要功能。但是,如果用户仅需要调用功能以使数据可访问,则这些漫游器就不会从站点获得任何价值。

关于屏幕阅读器和残障人士的其他可访问性注意事项的一方面。这是一个重要的利基人群:一种以人为方式导航数据的头脑,但谁只能以与计算机获取数据相同的方式从站点获取数据。通过在页面上干净利落地提供数据,我们可以将其提供给尽可能多的辅助功能工具集。

请注意,这并不排除将Javascript排除在外。我们的抵押计算器示例仍然可以正常工作:接受来自用户的输入,调用Javascript,然后将输出写回到页面的干净语义数据层。屏幕阅读器便可以阅读它!如果他们做不到,那么我们正在鼓励开发更好的屏幕阅读器。

回答

好吧,这取决于用户群。如果我们知道人们会通过移动设备使用网站,那么使用不引人注目的JavaScript会很好。但是,如果我们想吸引精通技术的人群,请不要打扰。

但是,如果我们吸引可能使用屏幕阅读器(盲人)的人群,则强烈建议我们使用WAI-ARIA标准。 Dojo的窗口小部件系统对此提供了全面的支持,这将是一种很好而又轻松的方法。

无论如何,在大多数情况下,我们不需要使用不引人注目的JavaScript。大多数禁用JavaScript的人或者使用智能手机,Lynx,或者安装了NoScript。默认情况下,所有主流浏览器都启用了此功能,因此我们不必担心。

最后,最好至少拥有一些不引人注目的JavaScript。 &lt;noscript>标签是我们最好的朋友。例如,可能要替换一个用文本绘制星级的小部件。使用dojo的示例:

<div dojoType="dojox.Rating" stars="5" value="4"></div>
<noscript>4/5</noscript>

回答

如果我们希望自己的应用适用于所有人,则需要备份所有JavaScript功能。如果是表单验证,则还应在保存之前检查服务器上的数据。所以答案是肯定的,没关系,但是要备份。不要依赖它。

回答

就像许多人说的那样,考虑用户群很重要,但是无论用户是谁,都有很大的可能性(其中有10%的统计数据表明他们中的某些人有某种残疾),并且屏幕阅读器不喜欢javascript。如果我们只是添加简单的东西,JavaScript菜单之类的东西,那么只需使其降级(或者不这样做)。如果该站点依赖javascript才能正常工作,请制作两个版本,一个用于javascript,一个不带。

我通常会发现,如果用户愿意的话,如果没有JavaScript过多的内容,很难仅将javascript将页面重写为javascript版本就很难很好地进行降级。鉴于此,非常有必要从第一个方框开始写两页来处理复杂的内容。

我要说的是,在没有使用JavaScript的用户的某些支持的情况下,应该运行的网站非常少。我们需要具有一个非常动态的应用程序,而该应用程序完全不像静态页面那样有意义,或者我们需要拥有一个可以保证可以接受的受众(例如在办公室Intranet上)。