这个问题在这里已有答案:
我们正在开发一个将由互联网上的外部客户使用的Web应用程序。我们需要支持的浏览器是IE7 +和FF3 +。我们的一个要求是尽可能使用AJAX。鉴于此要求,我觉得我们不应该在没有启用JavaScript的情况下为用户提供服务,但团队中的其他人不同意。
我的问题是,如果在这个时代,我们应该被要求为没有启用javascript的用户提供服务吗?
公共互联网上有更多用户可能遇到javascript问题而不是您的想法:
当然,您需要了解您的受众。您可能正在为公司内部网工作,在那里您知道每个人都有javascript(尽管在这里,我认为有一个不断增长的趋势,即这些网站可供未知/不受限制的浏览器的远程工作者使用)。或者你可能正在为盲人社区构建一个没有人拥有它的应用程序。在公共互联网的情况下,您通常可以认为大约95%的用户会以某种方式支持它(在下面的链接之一中由其他人引用的来源)。这个数字听起来很高,但可能会产生误导;转过来,如果你不支持javascript,你就会在20岁时拒绝1位访客。
看到这些:
添加到此页面上的一些旧讨论。 Google正在搜索JavaScript:http://www.i-programmer.info/news/81-web-general/4248-google-now-searches-javascript.html
这是我几天前想到的问题。这是一些信息
这些统计数据让我想到了。我是否必须为禁用Javascript的用户编写大量后台代码和所有内容?
我的结论是这样的。是的,我必须包含Javascript支持,但不是以理智为代价。即我有能力给它一个低优先级。
所以我将支持非JavaScript浏览,但是我将在部署我的站点后构建大部分内容。
您应权衡选项并问自己:
1)有多少百分比的用户关闭了javascript。 (根据this site的说法,世界上只有5%的用户关闭或无法使用它。)2)那些用户是否愿意开启3)那些不愿意打开它的用户,或者切换到另一个浏览器或者启用了javascript的设备,收入损失是否超过了构建单独的非JavaScript版本的努力?
本能地,我说大多数时候答案是否定的,不要浪费时间建立两个站点。
我的问题是,如果在这个时代,我们应该被要求为没有启用javascript的用户提供服务吗?
是的,当然,如果AJAX功能是您网站工作的核心。如果不这样做,您实际上是在拒绝没有启用Javascript访问权限的用户访问您的网站,虽然这个比例相当小(我相信<5%),但这意味着他们将无法使用您的网站,因为他们无法使用核心功能。
当然,如果您使用AJAX做更多琐碎的事情只是增强了用户体验,但实际上并不是网站核心功能的核心,那么这可能不是必需的。
这有点像击败一匹死马,但我肯定会去做。
我认为可能有两种基本方法:
1.
使用ajax(基本上是javascript)来增强用户的体验,同时确保所有应用程序的功能都可以在没有javascript的情况下运行。
当我遵循这个原则时,我分两个阶段开发界面 - 首先不考虑javascript(比如说,使用不了解javascript的框架),然后通过添加ajax-y验证来增强某些工作流程(don'像纯js验证,抱歉)等等。
这意味着,如果用户禁用了javascript,您的应用程序将不会因此而中断或无法使用。
2.
充分利用javascript,“没有javascript - 没有去”的风格。如果javascript不可用,则用户将根本无法使用您的应用程序。重要的是要注意,在我看来,没有中间立场, - 如果你想要同时在两个世界中,你做了太多额外的工作。消除支持no-javascript用户的限制,显然增加了创造更丰富用户体验的机会。它使创建体验变得更加容易。
真的取决于。
我个人一直关掉JavaScript,因为我不相信很多网站。
但是,由于您的用户已经明确要求您的应用程序,您可以假设他们会信任它,并且没有必要做额外的工作。
更多,如果你有强大的AJAX亲和力要求,这个问题似乎很奇怪。
我认为这取决于您要构建的Web应用程序的类型。例如,在电子商务应用程序中,结帐过程应该可以在没有java脚本的情况下工作,因为有些人会停用js来检查(根据我们的经验)。在我看来,在web 2.0应用程序中,没有必要支持非js浏览器体验。两者的开发也使开发过程复杂化并且成本更高。你有两倍的网络测试工作(使用和不使用js进行测试),并且在规划阶段也会有所不同。
我认为这取决于你所瞄准的细分市场,如果你想要一个技术人群 - 比如Stackoverflow.com,或者也许是slashdot-那么你可能会期望用户安装和使用JS。
其他具有医学技术意识的受众群体的网站可能会受到用户对基于JS的漏洞已经足够了解而无法停用JS的影响,但是缺乏足够的知识来启用Scriptblock(或其他类似的浏览器)。
非技术意识的受众可能是技术人群,因为他们可能只是不知道如何禁用JS - 或者他们可能想要的原因 - 无论风险如何。
简而言之,您应该在没有启用JavaScript的情况下迎合蜘蛛,但仅限于索引要向公众公开的数据所需的程度。您对IE7 +和FF3 +的浏览器要求排除的人数远远超过禁用JavaScript的总人数。在那些禁用它的人中,绝大多数人知道如何在必要时启用它。
前几天我问自己同样的问题,并得出答案,为了使用我的应用程序,必须启用Javascript。我还检查了各种Ajax驱动的站点。甚至Stackoverflow。
但考虑到这一事实,我也相信你确实需要支持某种程度的史前应用。主要的想法是当用户没有启用Javascript时不要让应用程序中断。应用程序仍应显示相关数据,但其功能将受到限制。