Javascript未启用

时间:2010-08-19 08:48:48

标签: javascript asp.net-mvc progressive-enhancement

我几年来一直在开发Web应用程序。我面临的一个问题是必须开发没有启用或不启用javascript的网络应用程序。我知道这是几年前的一个问题,但我很想知道其他网页设计师,开发人员对此问题的看法?这还是个问题吗?

我之所以这样问是因为在我看来,我们只是在迎合现在不太可能发生的情况。这对于面向公众的网站和网络应用程序尤其如此?我的评估是对的吗?我很想知道其他Web开发人员和设计人员的经验和任何知识

感谢。

5 个答案:

答案 0 :(得分:2)

我建议您尝试确保您网站的基本功能在没有javascript的情况下可用。

如果你以这种方式工作,即使你或另一个开发人员允许不完美的JS进入生产网站,你最终会得到一个有效的网站 - 严重的JS错误不一定是一个完整的显示阻止。

另外:AJAX,效果和其他绒毛都可以用aaaaaaage来调试。用户不介意简单。你应该瞄准简单,慢慢添加铃声和口哨,添加用户测试,以避免创建一个令人困惑和错误的AJAXeffectsFluffy垃圾堆......

答案 1 :(得分:2)

即便在今天,有些人(包括我自己)默认关闭了JS。专业构建的站点要么警告禁用功能,要么在没有JS的情况下工作(通过整页重新加载)。

答案 2 :(得分:2)

+1 for Progressive Enhancement。这是您拥有基本的,非华丽的功能,使用直接的HTML / CSS,然后获取JavaScript代码,以补充或替换它自己的功能。

例如,如果您在页面上有页面导航,其中包含第1页,第2页等的简单超链接,例如

<div class="paging">
    <ul>
        <li><a href="?page=1">1</a>
        <li><a href="?page=2">2</a>
        <li><a href="?page=3">3</a>
    </ul>
</div>

然后你将拥有寻找你的div.paging元素的JavaScript功能,并完全用更优雅的东西替换它,例如(在伪代码中)

$('div.paging').each(function()
{
    $(this).find('ul').remove();
    $(this).append(renderAdvancedPaging());
});

至于它可以取代的是什么,它可能是谷歌图像风格无限滚动(是的,我知道必应先得到它),或Twitter的方法是在底部有一个大的下一页按钮,动态附加下一组结果(看看http://twitter.com/codinghorror - 向下滚动并点击“更多”。

这种“渐进式增强”方法的好处是:

  • 适用于已禁用JavaScript的用户,其中包括精明的用户以及在严格锁定的企业内部网中工作的用户。
  • 辅助功能:使用屏幕阅读器的盲人用户仍然可以使用您的网站。
  • 搜索引擎(无法在您的网页上执行任何JavaScript)仍然可以关注您的分页链接并为这些网页的其他内容编制索引。

如果你关心SEO,最后一点应该是最重要的。


但是,有时候,您可以合理地忽略渐进增强功能并构建一个依赖于JavaScript的网站,如果没有它就无法工作。您通常会为高级“Web应用程序”或移动优化的网络应用程序执行此操作,例如Google地图,日历应用程序,使用<canvas>元素的HTML5绘图应用程序,HTML5动力游戏等。规则,任何“基于内容的”(博客网站,新闻网站,电子商务商店等)都应该应用渐进增强功能,而任何“应用程序-y”都可以通过强制执行JavaScript来实现。

归根结底,它取决于您正在构建的内容以及Progressive Enhancement路线是否适合您。


很难获得禁用JavaScript的人数统计(some here,但它来自2008年,也就是2008年this StackOverflow post),但我认为禁用脚本的可能性越来越小越来越多的RIA应用程序和依赖JavaScript的HTML5应用程序(Google Docs,Maps等)。还要考虑到不允许您禁用JavaScript的移动互联网设备(iPhone,iPad等)的数量不断增加。

答案 3 :(得分:1)

渐进增强!我几乎总是浏览JS禁用,因为长时间被AJAXd网站烦恼,所以总是从简单的页面加载表单等开始添加JS功能。

像jQuery,mootools等JS框架越来越受欢迎,因为几乎任何人都可以制作一个带有动画的“闪亮”网站。但我认为越多人开始使用这些工具,任何常规浏览器都不太愿意启用JS。

答案 4 :(得分:0)

有些人认为你需要照顾那些关闭CSS的人。所有这些都可以让你发疯,占据网络世界的所有“假设”。那些关闭javascript的人知道他们的用途,并且永远不会惊讶地发现一个因此而无效的网站。如果他们知道足以将其关闭,那么他们就知道在需要时将其重新打开。

我认为Tim Berners-Lee曾经说过网络总是可以编写脚本。脚本钩子内置于HTML中,所有浏览器都可以使用它。几乎每个人都打开了它们应该。使用它对您有利。