繁体   English   中英

检测ASP.NET中禁用JavaScript的时间

[英]Detect when JavaScript is disabled in ASP.NET

在ASP.NET Web控件的Render方法中,我需要根据客户端浏览器上是启用还是禁用JavaScript来更改Html的输出,

有没有人知道正确的咒语来解决这个问题?

使用脚本检查是否启用了javascript的问题是,只有在脚本未运行后才能找到它。

一些解决方案尝试相反 - 他们使用javascript设置值,然后提供启用Javascript的控件,如果稍后检测到该值。 但是,这有点像Firefox NoScript插件这样的javascript有时启用的工具。

一个更强大的解决方案是始终发送纯HTML兼容控件,然后在页面加载时运行javascript以添加正确的事件处理程序/额外的DOM元素/等。

但是我不知道这与ASP.NET方法对控件的适应性如何。

如果未执行脚本,则noscript标记用于定义备用内容(文本)。

编辑:嗨Kieron,看看这个链接: 为JavaScript测试创建一个服务器控件 ,并检测ASPX中是否启用了JavaScript

浏览器不会将Javascript可用性与请求进行通信。

我做过的一件事,虽然我不确定它是否适用于你的情况,是生成页面好像没有启用Javascript,然后有一些Javascript关闭HTML-only的东西并打开HTML-Javascript东西。

您还可以通过Javascript将第一页打到“phone home”,在会话中记录Javascript是否已启用。

这是一种检查表单提交时间的方法。

http://www.4guysfromrolla.com/webtech/082400-1.shtml

我不认为有任何Request属性会告诉您何时首次请求页面。 有一个属性会告诉您浏览器是否支持JS,但是如果启用了则不会。 看这里

你需要做的就是这个。 经过大量测试和深夜,我决定使用最简单的解决方案。 将标签拖到页面顶部,并确保其显示为“在服务器上运行”。 然后,对于Text属性,输入Text =“此网站需要Javascript”。 那应该是最好的答案。 :d

暂无
暂无

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

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