在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的东西并打开HTML-Javascript的东西。

您还可以将第一页点击“手机主页”。通过Javascript在会话中记录是否启用Javascript。

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

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

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top