我几年来一直在开发Web应用程序。我面临的一个问题是必须开发没有启用或不启用javascript的网络应用程序。我知道这是几年前的一个问题,但我很想知道其他网页设计师,开发人员对此问题的看法?这还是个问题吗?
我之所以这样问是因为在我看来,我们只是在迎合现在不太可能发生的情况。这对于面向公众的网站和网络应用程序尤其如此?我的评估是对的吗?我很想知道其他Web开发人员和设计人员的经验和任何知识
感谢。
答案 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 - 向下滚动并点击“更多”。
这种“渐进式增强”方法的好处是:
如果你关心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中,所有浏览器都可以使用它。几乎每个人都打开了它们应该。使用它对您有利。