繁体   English   中英

如何检测(使用.ASPX)是否在浏览器上启用了Javascript

[英]How to detect (using .ASPX) if Javascript is enabled on browser

我认为这可能是减少我们网站上的垃圾表单的快速简便方法。 想法是(我已阅读)垃圾邮件发送者未在启用javascript的情况下运行。 (或者至少他们是在没有运行javascript的情况下访问您的网站。也就是说,他们没有在IE或FF中浏览该网站。

我可以使用.asp或.aspx。

最简单的方法是通过javascript设置cookie并在回发时检查它。但是,如果您希望最大程度地减少垃圾邮件,则实际上应该让浏览器执行一个简单的任务,该任务需要执行javascript。 请参阅Phil Haack的“ Invisibile Captcha Validator”控件,此控件已包含在他的Subkismet库中: http ://haacked.com/archive/2006/09/26/Lightweight_Invisible_CAPTCHA_Validator_Control.aspx

老实说,您不需要使用服务器端语言来检测javascript,此外,垃圾邮件发送者不一定未运行javascript。 (对双重否定表示抱歉)您的目标是好的,但是您的方法是错误的-如我们的一些同行建议的那样,实施验证码将是解决此问题的好方法。

在.net中,可以使用Request.Browser.JavaScript来检测浏览器是否支持JavaScript。 但是,用户可能仍然禁用了Javascript。 检查是否已启用Javascript的一种丑陋方法是使用window.location重定向到page.aspx?jscript = true,然后检查Request.Querystring中的值。

因此,您要强制用户使用JavaScript才能使用您的网站吗? 我宁愿只使用一个简单的验证码。 如果您不是知名网站,则可以使用一些相对简单的验证码。

这就是我们减少网站垃圾邮件的方式。

我看到您已经接受了noscript答案,但是您将如何使用它来打击垃圾邮件? noscript允许您为没有JS的用户添加特殊内容,但是除非您在JS中生成网站的其余部分,否则没有JS的用户代理仍然可以使用它。

某种形式的验证码仍然可能是最好的选择。 最终,您试图让用户代理证明它是由人控制的,因此请尽最大努力使它证明是真实的事实,而不是其他事情。 视障人士的屏幕阅读器通常也没有Java脚本,并且许多从移动设备浏览的人都禁用了Java脚本以加快速度。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM