网站真的需要迎合没有启用Javascript的浏览器吗?

时间:2009-05-05 01:07:51

标签: javascript

为什么许多专业网站开发人员始终坚持开发适合已禁用Javascript的浏览器的网站?

除了技术负责人和开发人员之外,大多数“普通”用户甚至都不知道它是什么。

20 个答案:

答案 0 :(得分:48)

  

谁使用的浏览器早于Firefox 2或IE6?

错误的问题。这不是浏览器的时代问题。有很多新的浏览器不支持javascript或不支持它,它们可能与最新的safari或firefox一样重要。

其他人提到了智能手机或lynx,但我书中的主要内容是 Googlebot 。这是一个与其他浏览器一样的浏览器,它不会运行你的大多数javascript。此外,即使你有Firefox,你可能会使用像NoScript这样的插件。这与运行禁用javascript不同,但是如果你做错了,你可以真正搞砸那些用户(即,在会话开始或创建帐户时检测一次javascript状态,然后不再提供javascript在al的页面,即使他们想为你启用它)。最后,如果您为美国政府做任何工作,法律要求您支持某些可访问性标准,包括使用禁用的JavaScript。

答案 1 :(得分:33)

几个月前,我测试了我正在使用的主流百万成员网站上的用户群,大约10%的独立用户没有运行Javascript。

考虑扭转这个问题:是否值得开发一个仅适用于支持Ajax的用户的网站?你真的会忽略搜索机器人,大多数手机和其他用户吗?

回到基础。首先,使用裸骨(X)HTML ,在类似REST的原则上创建您的网站(至少要求状态更改的POST请求)。简单的语义标记,忘记CSS和Javascript。

第一步是做到这一点,并让你的整个网站(或尽可能多的有意义)以这种方式很好地为搜索机器人和类似Lynx的用户代理工作。

然后添加可视图层:CSS /图形/媒体进行视觉润色,但不会显着改变原始(X)HTML标记;允许原始纯文本站点保持完整和正常运行。保持你的标记清洁!

第三是添加行为层:Javascript(Ajax)。为具有Ajax功能的JS的用户/浏览器提供更快,更顺畅,更好的体验...但仅限于那些用户。没有Javascript的用户仍然欢迎;搜索机器人,视障人士,许多手机等等。

这在网页设计圈中被称为渐进增强。这样做,您的网站以一种合理的形式为每个人工作。

答案 2 :(得分:21)

我认为众所周知,大约有10%的人关闭了JavaScript,因此将其考虑在内是非常重要的。如果你觉得你可以安全地忽略高达10%的观众,那么把它吹掉就可以了。

答案 3 :(得分:15)

Lynx用户使用的许多面向文本的浏览器(如braille terminals)都不支持JavaScript。将这些人排除在访问网站之外是非常粗鲁的。

详细了解Web Accessibility Initiative

修改 将文字浏览器Lynx与图形浏览器Links混淆

答案 4 :(得分:10)

手机将成为我能想到的首要问题。很多移动设备都不是很擅长通过javascript繁重的网站工作。考虑到移动设备正迅速成为顶级互联网接入点之一,您可能需要重新考虑您的位置..;)

答案 5 :(得分:7)

这更像个人的宠儿,但是......

当网页使用AJAX调用加载其他页面时,我真的不喜欢它,并且不提供在另一个选项卡中打开窗口的任何方法。例如,在gmail上,如果要在新窗口中打开草稿文件夹,可以右键单击它并在新窗口中单击“打开”。没问题。

另一方面,如果要打开联系人窗口,则没有非javascript方法。因此,您无法右键单击并在新窗口中选择“打开”。 该选项不存在!

答案 6 :(得分:6)

哇...我想我会成为第一个说出来但是......“对所有禁用JavaScript的人来说都是地狱。”如果您的网站需要 JavaScript运行,请忘记所有关闭它的人。认真。如果您的网站真的足够好,可以担心失去大量的受众群体,那么人们开启JavaScript可能已经足够好了。

例如,转到Facebook,YouTube,Google Docs,谷歌地图或者Digg(哎呀,尝试用SO做一些更酷的东西),关闭JS并看看你能做什么(不是一个整体)很多)。

Web浏览器正在转变为基于云的操作系统,而不是“网站”的门户。有许多令人信服的理由允许JavaScript运行,IMO,没有什么理由不这样做。对我来说,关闭JS类似于在Windows Vista中启用UAC。是的...它可以帮助防止你犯错误,但是它是 sooooo 令人讨厌(但反向逻辑......: - )。

所以,无论如何......我可能会对这个答案有很多不满,但我觉得我的理由是合理的,并且有很多令人难以置信的成功的网站和网络应用程序支持。< / p>

只需确保您可以在没有JavaScript的情况下访问您想要由Google(以及大多数其他蜘蛛)编制索引的网页。

答案 7 :(得分:4)

许多人因为NoScript等插件的安全问题而停用了Javascript。

答案 8 :(得分:4)

事情的简单事实是强制使用JavaScript会限制您的受众。有一天,有人会尝试在没有JavaScript的情况下运行您的网站。如果他们不能这样做,他们要么打开它,要么心烦意乱,离开。如果他们离开,他们可能永远不会回来。

答案 9 :(得分:3)

在PC之外思考......很多手机都有不支持javascript的浏览器。 如果您希望您的网站对他们可见,那么考虑非JavaScript体验对这些客户的影响可能会付出代价。

答案 10 :(得分:1)

通常的原因是:

  • 其良好的SEO实践,确保搜索引擎正确解析和链接内容
  • 一些支持现代网络的手机不能正确处理客户端脚本
  • 除了帮助SEO之外,508合规性在某种程度上是大多数政府项目所必需的
  • 有些人因任何原因将其关闭

一般规则是提供增强功能,但对于那些无法使用增强功能集的用户,可以优雅地降级。这意味着无需脚本即可访问所有导航,以及搜索引擎解析的所有内容。

想想SO。问题和答案在服务器端处理并发送到浏览器。直到最近,通过javascript按需检索评论到网络服务电话。这意味着无论评论多么出色,它都不会被搜索引擎解析。

答案 11 :(得分:1)

大多数用户不是技术人员,因此他们不知道/关心什么是javascript,所以如果它默认打开,那么这就是他们使用的。所以,如果他们看到你的网站,但它不起作用,他们就不会回来。

答案 12 :(得分:1)

没有明确的是或否答案;这完全取决于网站以及如何使用JavaScript。

基本上,如果您的网站要被Google(或任何其他搜索引擎)编入索引,那么您会希望该网页的内容只是纯HTML,因此任何人都可以轻松阅读它;同样适用于制作链接常规超链接而不是一些“window.navigate”脚本,因此可以适当地遵循它们。但是,如果您的“网站”实际上是一个更复杂的Web应用程序,那么如果您需要JavaScript支持,您可以为用户提供更好的体验;同样在这种情况下,您可能希望创建一个“移动”版本,供不支持JavaScript的移动设备使用,如果这是一个问题。

大多数情况下,可以要求JavaScript支持,但您仍然要记住可能禁用JavaScript或完全不支持JavaScript的用户(和潜在用户)的百分比。

此外,例如,StackOverflow.com将JavaScript用于您登录时执行的操作,但不需要JavaScript支持,只需查看单个页面或链接到其他页面。

答案 13 :(得分:1)

值得担心的是一小部分人,还是努力追求最佳实践?无论受影响的用户群如何,优雅的失败都是Web开发人员应该拍摄的内容。 John Resig在雅虎"The DOM is Messy"的演讲为适应所有浏览器和配置的用户提供了一个很好的案例。

答案 14 :(得分:1)

默认情况下禁用所有脚本,仅为他们需要的网站启用它们,至少建议任何互联网用户使用。我甚至会说它是鲁莽和粗心的至。有一些很好的插件可以有选择地为所选站点提供脚本。

这意味着您必须假设您网站的首次访问者不允许在其浏览器中添加任何脚本。因此,您的网站应该能够提供有用的界面来收集信息,而无需用户允许脚本

在我看来,JavaScript只应用于提供超出简单信息显示的附加功能。

我的行为是这样的:当我偶然发现一个只显示“你需要启用JavaScript”的网站时,我立即重新评估了我对此的兴趣。在某些情况下,我将关闭标签。

答案 15 :(得分:1)

想想手机,而不是人们是否打开或关闭JS。有数百万人在手机上观看网络(当然不是唯一的)。仅这一点就是为非JS用户提供服务的理由。

答案 16 :(得分:1)

我每天禁用和重新启用JavaScript几次,具体取决于我要访问的网站。例如,喜欢弹出窗口和调整窗口大小的新闻网站仍然保留着我。

普通用户不需要花太多时间来了解这些事情是由神秘的名为“JavaScript”的东西以及在浏览器中将其关闭的地方完成的。

答案 17 :(得分:0)

我通常不会关闭javascript的人,但我肯定会让他们知道,因为他们关闭了它,他们将无法使用某些功能。

如果没有javascript,我认为“打破”你的网站是不可接受的,但是它可以接受,imo,具有使用你的网站所需要的最低标准。

对于我的网站,这可行...您的受众可能有不同的需求。

答案 18 :(得分:0)

对我而言,它看起来更像是产品经理做出的决定 - 由PM决定产品的外观以及目标受众是什么。作为开发人员,我需要的是“应该在每个浏览器中工作”或“应该在大多数浏览器中工作”。这不应该来自网络开发人员,除非他决定你的产品看起来像什么使他成为PM。而不是开发人员争论它。

使用您的SaaS并为其付费的公司是一回事 - 在一个项目中我们明确表示只支持IE 6-7并且客户对此感到满意。可能在移动浏览器上访问的网站是不同的故事。但是在移动浏览器上,仅仅在没有JS的情况下工作可能还不够,您可能需要简化页面布局并减少图形使用。如果您真的需要移动用户,您可以考虑制作两个版本的网站,功能齐全的支持JS的桌面,以及针对移动用户的简化版本。

当然,你永远不应该依赖客户端JS的安全性。

通常我更喜欢在没有JS的情况下提供大部分功能。例如,只读访问SO并不需要JS。如果他真的想发布问题,那么用户启用JS并不难。没有JS发布问题也不是那么难,只要忘记自动加载类似的问题。

在JS和服务器端都可以做一些事情,它仍然经常是产品功能,而不是技术决定使用哪种方式。例如,SO中的投票可以在没有JS的情况下完成,但这将涉及页面重新加载 - 对用户和更多流量更加沮丧。

答案 19 :(得分:0)

比IE6更老?几个百分点。比Firefox 2更老?差不多。

您应该始终预测关闭Javascript的人并容纳打开Javascript的人。