2016-08-15 65 views
0

我已经尝试下面的代码,它是检测当前的请求浏览器是否支持Java脚本或不只。但我的实际需求是检测特定的请求浏览器,Java脚本是否启用或时间要求禁止打Page_Load方法我需要检测javascript是否启用或不在asp.net页面加载在c#

var request = HttpContext.Current.Request; 
bool jsEnabled = request.Browser.JavaScript; 

if (!jsEnabled) 
{ 
    javaScriptEnabled = false; 
} 
+0

不可能提前知道。你为什么需要这样做? – Ryan

+0

我有一个方法调用,如果js启用,否则在page_load块内调用不同的方法 –

+0

该方法做什么? – Ryan

回答

0

这是不可能的,您使用的是服务器端语言,它不访问用户执行请求时的某种属性。

客户可以提供通过HTTP标头的一些元信息,但他们 不一定告诉你用户是否启用JavaScript或者 不,你不能无论如何依靠他们。

来源:Check if JavaScript is enabled with PHP

只有这样,才能知道它在使用<noscript></noscript>标签的客户端。

此外,request.Browser.JavaScript会告诉您浏览器是否支持javascript,而不是启用它。

+0

感谢您的回复。但是可以通过在page_load方法之前使用标签来检查吗? –

+0

由于无法执行javascript,因此无法在时间或如何处理事件时小心。唯一的用处是放一些html来警告用户。