c# - 仅支持启用了 Javascript 的用户

标签 c# asp.net javascript

我正在考虑创建一个仅支持启用了 JavaScript 的用户的网站。

我这样做的理由是我想在相当有限的时间预算内提供丰富的用户体验,所以如果我只支持启用了 JS 的人,我就不必花时间确保 UI 在没有启用 JS 的情况下工作JS 并创建服务器端等效项以进行验证等。

  1. 这可能吗?不同的浏览器\平台会阻止我实现这一点吗?
  2. 这些天有多少用户禁用了 JS?
  3. 我将如何检查 C# 中是否启用了 JS。

最佳答案

你的理由很好。但是,您必须在服务器端实现验证,否则只需禁用 JavaScript 就可以很容易地滥用您的代码。

不,让没有 JavaScript 就“不可能”提交任何数据并不能解决问题。

根据个人经验,我认为现在大多数互联网用户都启用了 JS。可能对 JS 密集型网站有问题的部分用户是移动用户,因此除非您需要接触他们,否则这应该不是什么大问题。

仅通过一次重定向来确定 JS 的最简单方法是使用 JavaScript 代码 (document.cookie) 设置一个 cookie,然后使用上述 window.location 进行重定向。之后服务器应该能够读取 JS 设置的 cookie,假设它已启用。

此外,虽然使用 C# 等技术在服务器和客户端上自动共享验证规则和其他逻辑非常困难,但我建议您查看 Aptana Jaxer。 Jaxer 是一个基于 JavaScript 的服务器端框架,除其他外,它允许您在客户端和服务器上共享完全相同的 JavaScript 代码。如果您想在客户端上进行验证,但又不想编写两次验证规则,那就太好了!

关于c# - 仅支持启用了 Javascript 的用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/740243/

相关文章:

c# - 原始位图数据/扫描线(镜像驱动原始数据)?

c# - Xamarin Android 应用程序

javascript - 与物体(墙壁)碰撞

ASP.NET + NUnit : Good unit testing strategy for HttpModule using . NET 4

java - 在 Java 1.7.0_04-b20 中从 Applet 重定向期间 window.opener 引用发生更改,但在 1.7.0_03-b05 中则没有更改

javascript - D3 桑基图使用圆形节点代替矩形节点

c# - 为什么我们使用类名调用委托(delegate)?为什么它不能在类对象列表中列出?

c# - ASP.Net - 我可以从标记内访问我的 BasePage 属性吗?

javascript - 在javascript中添加动态控件

c# - 为 prod 和 dev 指定 asp.net core 1.0 WebAPI.exe 应该在 program.cs 中使用的 url(端口)