未启用Javascript

未启用Javascript,javascript,asp.net-mvc,progressive-enhancement,Javascript,Asp.net Mvc,Progressive Enhancement,我已经开发web应用程序几年了。我面临的一个问题是必须在javascript未启用或不可用的情况下开发web应用程序。我知道这是几年前的一个问题,但我很想知道其他网页设计师、开发人员对这个问题的看法?这仍然是一个问题吗 我问这个问题的原因是,在我看来,我们只是在迎合现在几天内不太可能发生的情况。尤其是面向公众的网站和web应用程序?我的评估正确吗?我渴望了解其他web开发人员和设计师的经验和任何知识 谢谢。我建议您尝试确保站点的基本功能在没有javascript的情况下可用 如果你这样做,即使你

我已经开发web应用程序几年了。我面临的一个问题是必须在javascript未启用或不可用的情况下开发web应用程序。我知道这是几年前的一个问题,但我很想知道其他网页设计师、开发人员对这个问题的看法?这仍然是一个问题吗

我问这个问题的原因是,在我看来,我们只是在迎合现在几天内不太可能发生的情况。尤其是面向公众的网站和web应用程序?我的评估正确吗?我渴望了解其他web开发人员和设计师的经验和任何知识


谢谢。

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

如果你这样做,即使你或其他开发人员允许不完美的JS进入生产站点,你最终也会得到一个可以正常工作的站点——严重的JS错误不一定会完全阻止展示


另外:AJAX、特效和其他一些缺点可能需要调试。用户不介意简单。你应该力求简单,慢慢地添加铃声和口哨,并在添加时进行用户测试,以避免创建一个令人困惑和有bug的AJAXeffectsFluffy垃圾堆…

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

渐进增强!我几乎总是在被AJAXd网站困扰了太久之后才禁用JS浏览,所以在添加JS功能之前,总是从简单的页面加载表单开始


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

+1进行渐进式增强。在这里,您可以使用简单的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>
至于它可以被什么取代,它可以是谷歌图片风格的无限滚动(是的,我知道Bing先有了它),或者Twitter的方法是在底部有一个大的下一页按钮,动态地附加下一组结果(查看-向下滚动并点击“更多”)

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

  • 适用于禁用JavaScript的用户,包括精明的用户和在高度封闭的企业内部网中工作的用户
  • 可访问性:有屏幕阅读器的盲人用户仍然可以使用您的网站
  • 搜索引擎不会在您的页面上执行任何JavaScript,仍然可以跟踪您的页面链接并为这些页面的其他内容编制索引。
最后一点应该是最重要的,如果你关心搜索引擎优化


然而,有时候,你可以合理地忽略渐进式增强,构建一个依赖JavaScript的网站,没有它就无法工作。您通常会为高级“Web应用程序”或移动优化Web应用程序这样做,例如,想想谷歌地图、日历应用程序、使用
元素的HTML5绘图应用程序、HTML5驱动的游戏等。我的规则是,任何“基于内容的”(博客网站、新闻网站、电子商务商店等)都应该应用渐进式增强,然而,任何“Application-y”都可以通过强制使用JavaScript而逃脱惩罚

归根结底,这取决于您正在构建什么,以及渐进式增强路线是否适合您



禁用JavaScript的人数很难统计(但这是从2008年开始的,也是从2008年开始的),但我认为禁用脚本的可能性越来越小,因为越来越多的RIA应用和HTML5应用依赖JavaScript(谷歌文档、地图等)。还要考虑到越来越多的移动互联网设备(iPhone、iPad等)不允许您禁用JavaScript。

有些人认为您还需要照顾那些关闭CSS的人。所有这一切都会让你发疯,因为网络世界中所有的“如果”都是这样。那些关闭javascript的人知道他们的目的是什么,当他们发现一个网站因为它而无法工作时,他们从不感到惊讶。如果他们知道足够多的信息来关闭它,那么他们就知道足够多的信息在需要时重新打开它

我想是蒂姆·伯纳斯·李(Tim Berners Lee)曾经说过,网络总是可以编写脚本的。脚本挂钩内置于HTML中,所有浏览器都使用它。几乎每个人都打开了它,他们应该这样做。利用它对你有利

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