【问题标题】:I do not want to support javascript turned off in an asp.net mvc web/intranet application我不想支持在 asp.net mvc web/intranet 应用程序中关闭的 javascript
【发布时间】:2012-06-08 13:36:47
【问题描述】:

我正在做一个仅使用 ajax 请求的 Web 应用程序。

如果有用户在关闭 javascript 的情况下尝试我的应用程序,那么应该会有一个很好的错误消息。

当请求进入服务器时,应该自动进行 IsAjaxRequest() 检查,如果没有向用户显示常规 error.cshtml 页面。

如何以通用方式为每个操作执行此操作,并且我不必在控制器的每个操作中手动调用此检查?

【问题讨论】:

  • 为什么“只有”Javascript?这似乎比必要的工作量和复杂性要多得多,而且收获不多。
  • ajax requests + json 有利于桌面感觉和速度。我为什么要费心不使用它?它没有更多的工作。
  • 当然可以,只要您可以使用超链接。不需要javascript。另外,MVC框架解析表单数据,为什么要为所有内容添加JSON转换?
  • 为什么不在 IE5 中浏览网页并禁用 CSS JS 和图像...
  • @JeremyHolovacs 现在很多网站/网络应用程序都是以这种方式构建的,原因有很多。 cmets 队列不是跑题的地方 :)

标签: javascript asp.net-mvc intranet


【解决方案1】:
<head>
    ...
    <noscript>
        <meta http-equiv="refresh" content="0;URL='http://example.com/enablejs.php'">
    </noscript>
    ...
</head>

【讨论】:

  • @JeremyHolovacs 代码中没有 PHP,它是 html :X
  • 很有趣,我没有意识到“example.com/enablejs.php”指向一个 HTML 页面...对我来说有点像 PHP...
  • 它实际上重定向到iana.org/domains/example,这本身有点毫无意义,因为它是一个空页面。我应该否决不是建设性的答案吗? :) 我当然会开玩笑,但关键是 URL 应该指向一些更易于解释的东西。
  • @JeremyHolovacs 您现在是否意识到 URL 本身根本不相关,只是一个示例? :P
  • 我从一开始就意识到了这一点,但有人在寻找这个问题试图弄清楚该怎么做可能不会。
【解决方案2】:
<noscript>
This web app does not work with JavaScript turned off.
</noscript>

为什么还要让他们与应用互动?只需以这种方式向他们显示消息即可。

【讨论】:

  • 同意,但这不会阻止人们提出基于非 JavaScript 的请求。
  • 人们可以执行非 ajax 请求,但我想显示一些不错的错误。
猜你喜欢
  • 2021-03-16
  • 2013-06-22
  • 1970-01-01
  • 2023-03-18
  • 2017-01-24
  • 2021-11-12
  • 2013-02-08
  • 2015-06-17
  • 1970-01-01
相关资源
最近更新 更多