xpo*_*ort 2 javascript asp.net-mvc asp.net-mvc-3
我正在使用Asz.net MVC 3和Razor开发一个站点.
在_Layout.cshtml(母版页)中,我想根据浏览器是否启用javascript来设置逻辑.
制作这种逻辑的最简单方法是什么?
为简单起见,让母版页输出如下:
@if(....)//need to modify
{ <p>javascript enabled...</p>}
else {<p>javascript disabled...</p>}
Run Code Online (Sandbox Code Playgroud)
如果您想阻止应用程序的访问,您可以使用类似的东西
<noscript>
<meta http-equiv="refresh" content="0;url=../Controller/Error" />
</noscript>
Run Code Online (Sandbox Code Playgroud)
没有办法在服务器上找到它,因此在第一页加载之前无法找到.您可以做的最好的事情是将一些Javascript放入设置cookie的页面或向服务器发布AJAX响应,告诉它Javascript处于活动状态,因此您可以在后续页面请求中执行某些操作.即使除了第一页加载的明显问题之外,这也是一个糟糕的策略,因为用户可能会在此期间关闭Javascript,同时您的服务器仍然认为它是活动的.
优雅降级/渐进增强是这里的关键词.默认情况下,让您的页面假定没有Javascript处于活动状态并相应地执行操作,即在任何一种情况下都提供纯HTML.如果Javascript处于活动状态,请包含将"升级"网站功能的Javascript.让客户弄清楚Javascript是否正常工作,并为其提供工作方式.
| 归档时间: |
|
| 查看次数: |
5347 次 |
| 最近记录: |