仅在禁用javascript的情况下执行操作
Perform an action only if javascript is disabled
我想执行MVC操作只有当javascript被禁用。为了实现这个目标,我在html中添加了一个标记<noscript>
:
<noscript>
@Html.Action("BlogRss", "Home")
</noscript>
在我的控制器中,跟随动作
public PartialViewResult BlogRss()
{
return PartialView("_BlogRss", GetFeeds());
}
问题是标签<noscript>
不影响动作的不执行。无论是否启用javascript,都是一样的!
我知道<noscript>
里面的一切都不会显示,如果JavaScript是启用的
<noscript>
是HTML标记,而不是服务器标记,并且只在客户端起作用。服务器总是渲染/执行你放在它之间的任何代码——客户端只是不会渲染/执行它。
没有任何好的方法来检测客户端是否从服务器端启用了JavaScript。最现实的方法是使用javascript/AJAX设置一个隐藏值或cookie (document.cookie
),然后在服务器端使用这个值/cookie。
@if (!IsJavascriptEnabled) {
<noscript>
@Html.Action("BlogRss", "Home")
</noscript>
}
如果你想要一个简单的客户端解决方案,我建议META刷新。
<noscript>
<meta http-equiv="refresh" content="0; url=http://appUrl/BlogRss/">
</noscript>
这可以实现,如果你设置一个默认的queryString像"js=disabled",然后你重定向到一个URL没有这个变量只有当js是启用的。我知道这有点糟糕(重定向),但我认为这是唯一的解决方案。
相关文章:
- 在不使用隔离作用域的情况下执行函数的角度指令
- Angular在不触发摘要的情况下执行XHR请求
- Phonegap onclick在不单击的情况下执行
- 如何在不冻结浏览器的情况下执行大量javascript代码
- button.click仅在前面有警告的情况下执行
- Node 的断言模块是否提供了一种在没有强制的情况下执行深度相等检查的方法?
- 使用 V8 JavaScript 引擎在没有 Web 视图的情况下执行 JS 库
- 如何在没有物理感谢页面的情况下执行谷歌Adwords转化跟踪
- jQuery,防止在用户双击或多次点击的情况下执行点击事件
- 如何在不单击按钮的情况下执行此功能
- 函数仅在键控事件延迟的情况下执行
- 如何在没有处理程序事件的情况下执行Jquery方法
- 如何在不重定向的情况下执行href
- 是否可以在不执行点击事件的情况下执行内联点击事件函数
- 使用highland.js在引用原始流数据的情况下执行串行异步任务
- 如何在不等待ajax响应的情况下执行计数统计
- 有没有一种快速的工具可以在不剥离JavaScript源代码中的注释的情况下执行恒定的替换?
- 在套接字中发送文件.在不改变用户窗口位置的情况下执行IO操作
- 如何在jQuery成功的情况下执行查询?
- 仅在禁用javascript的情况下执行操作