我知道服务器端验证是绝对必须防止恶意用户(或只是选择禁用javascript的用户)绕过客户端验证.但这主要是为了保护您的应用程序,而不是为运行浏览器禁用javascript的用户提供价值.假设访问者启用了javascript并且只是为那些没有启用javascript的网站提供了无法使用的网站,这是否合理?
我在Firefox中浏览NoScript,当我得到不起作用的页面时,它总是让我烦恼.那就是 - 了解你的观众.如果您正在尝试迎合偏执的计算机安全专业人员 - 假设他们可能没有启用JavaScript.如果你想要普通观众,可能就是JavaScript.
完全取决于你的目标.
如果您的站点或应用程序是用于Intranet,则可以进行大量假设.如果您的目标受众是最前沿的社交网络类型,您可以假设JavaScript可以正常运行.如果您预计会有很多偏执狂系统管理员类型,您可以假设他们中的一些将尝试访问lynx中的站点,或者出于"安全原因"将JS转为.
亚马逊就是一个很好的例子 - 他们的方法是由他们的业务目标驱动的.它们是一个大众市场网站,但对于他们来说,锁定旧/无能力浏览器中的用户意味着潜在的销售损失,因此他们在非脚本回退上努力工作.
因此,就像很多这类问题一样,答案不仅仅是回避你在可访问性或渐进式增强方面的内容.真正的答案是"这取决于".
我认为还有另一个原因促使你至少支持一些没有JS的主要功能 - 我们现在很多人都在浏览移动设备和PDA,它们没有相同的JavaScript支持.
http://www.w3schools.com/browsers/browsers_stats.asp
他们声称95%的用户都使用了Javascript.
重复
至少有一个类别的答案肯定是"不".如果您为政府工作,您必须确保使用屏幕阅读器的人可以访问该网站.
假设访问者启用了javascript并且只是为那些没有启用javascript的网站提供了无法使用的网站,这是否合理?
实际上有两个问题,答案是:是的,假设访问者启用了javascript是合理的.并且,不,这并不意味着其他人应该留下无法使用的网站.
渐进式增强是可行的方法.让您的网站无需javascript即可使用,然后添加铃声和口哨声.
至于客户端验证,用户可以避免不必要的往返服务器(应该执行真正的验证).