Pra*_*sad 2 javascript browser asp.net-mvc
如何检查浏览器是否支持javascript?
如果用户的浏览器不支持javascript,我需要将用户重定向到通知页面.我如何在我的asp.net mvc(C#)应用程序中执行此操作?
什么是在asp.net mvc中处理这个问题的最佳方法?
我测试的HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Stack Overflow</title>
<link rel="stylesheet" href="http://sstatic.net/so/all.css?v=6230">
</head>
<body>
<noscript>
<div id="noscript-warning">Stack Overflow works best with JavaScript enabled<img src="http://pixel.quantserve.com/pixel/p-c1rF4kxgLUzNc.gif" alt="" class="dno"></div>
</noscript>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
哇所有-1.嗯,好吧......它可能不是有效的,但是meta-in- noscripthack(因为每个人已经发布并被投票选出)真的是做你想要的唯一方法.但:
如果用户的浏览器不支持javascript,我需要将用户重定向到通知页面
我想你想要的不是你需要的.No-JS重定向对于可用性/可访问性来说是可怕的.请不要这样做.
考虑像SO这样的方法:保持用户在同一页面上,但只包括脚本不可用的页面上通知:
<noscript>
<div id="noscript-warning">Stack Overflow works best with JavaScript enabled</div>
</noscript>
Run Code Online (Sandbox Code Playgroud)
如果必须的话,您可以使用CSS将其设置为大而红,并显示在页面的其余部分之上.
你也可以更具体.通常,您不仅需要JavaScript,还需要支持无处不在的某些脚本功能.例如,IEMobile(8之前版本)确实有JavaScript,但是已经阻止了DOM支持,这会阻止你运行大多数现代脚本.或者您可能依赖于HTML5相关的界面,而这些界面并非如此.在这种情况下,您可以嗅探客户端并手动设置通知的可见性:
<head>
<style type="text/javascript">
#scriptwarning {
position: absolute; z-index: 9;
top: 25%; left: 25%; width:50%; height: 50%;
color: red; background: white;
border: dashed red 1px;
}
body.jsok #scriptwarning { display: none; }
</style>
</head><body>
<script type="text/javascript">
// Sniff capabilities in whatever way is necessary
//
if ('featureWeWantToUse' in window) {
document.body.className= 'jsok';
}
</script>
<div id="scriptwarning">
JavaScript is disabled, or too rubbish on your browser to do what we want.
See the <a href="browsersupport.html">supported browsers</a> page for more information.
</div>
</body>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5087 次 |
| 最近记录: |