Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.NET,检查是否禁用了javascript?_Javascript_Asp.net - Fatal编程技术网

ASP.NET,检查是否禁用了javascript?

ASP.NET,检查是否禁用了javascript?,javascript,asp.net,Javascript,Asp.net,我不明白ECMAScript是如何工作的。查看MSDN和其他论坛,它没有告诉我们哪个版本或值等于javascrpt if (!Request.Browser.JavaScript) //Do Something. 然而,我得到了一个obsolute的警告,并建议我改用ECMAScript System.Web.HttpBrowserCapabilities myBrowserCaps = Request.Browser; if (((System.Web.Configuration.Http

我不明白ECMAScript是如何工作的。查看MSDN和其他论坛,它没有告诉我们哪个版本或值等于javascrpt

if (!Request.Browser.JavaScript)
 //Do Something.
然而,我得到了一个obsolute的警告,并建议我改用ECMAScript

System.Web.HttpBrowserCapabilities myBrowserCaps = Request.Browser;
if (((System.Web.Configuration.HttpCapabilitiesBase)myBrowserCaps).EcmaScriptVersion.Major < 1)
//Does not have Javascript. Do something.
System.Web.HttpBrowserCapabilities myBrowserCaps=Request.Browser;
if(((System.Web.Configuration.HttpCapabilitiesBase)myBrowserCaps).EcmaScriptVersion.Major<1)
//没有Javascript。做点什么。
但是,我尝试了打开/关闭javascript。不知何故,函数没有被触发。我怀疑某些值属于javascript。但是,我找不到任何与value==javascript相关的内容

我知道我可以使用meta标记执行重定向。但我希望所有这些代码都能在服务器上执行

首先,请参见/

然后,客户端Javascript只存在于客户端中,如果关闭,则不会触发客户端逻辑来显式检查任何内容。因此,在客户端从您的页面发送至少一个回复(无论是GET/POST查询还是XMLHTTPRequest)之前,您无法知道这一点,也就是说,只有在该用户的第二个请求之后,该请求由您发送给他们的页面生成,如果他们只是潜伏在其中,则可能永远不会发生,即使您将页面上的每个链接都做成表单回复,他们也可能使用来自外部源的URL。链接自的CodeProject文章就是这种方法的一个例子

出于这个原因(为了避免在制作脚本和noscript版本时重复工作——这在过去是有一些用途的做法),最好的做法似乎是使页面和框架JavaScript不可知,只是用
警告用户,如果相关的话,页面可能无法完全发挥功能

例如,Sharepoint就是这样做的-禁用JS后,页面顶部会出现警告,例如,没有滚动条,编辑被完全禁用这就得出结论:ASP.NET控件(SP大量使用)的设计初衷不是为了在禁用JS的情况下实现基本显示以外的功能。