我的aspx页面中有以下代码,只有在从浏览器禁用javascript时才会出现Javascript is disbaled
<div id="jsDiv" runat="server">
<noscript>
Javascript is disbaled
</noscript>
</div>
在C#代码中,如果我随时获得innerText
或innerHtml
jsDiv
,则会获得相同的div内容结果,无论是启用javascript还是禁用... <我的问题是:如何从C#代码中检测浏览器中用户看到的div的当前innerText?
答案 0 :(得分:1)
<html>
<head>
<!-- Redirect in 10 seconds -->
<meta http-equiv="refresh" content="10;url=http://localhost/Default.aspx" />
<script>
<!-- Redirect to same page, with querystring js = true -->
window.location="http://localhost/Default.aspx?js=true";
</script>
</body>
Redirecting to new page <noscript>that does not need javascript</noscript>
</body>
</html>
在您的默认asp.net页面中,您可以检查Request.QueryString [“js”]是否支持javascript。
答案 1 :(得分:0)
要检测Javascript是否已启用,您只需让JS以某种方式更改某些请求以指示它存在。
例如,您可以重写某些链接的href
,或填写input
形式的值,或者(可能是最佳选项)将AJAX请求发送回服务器。然后,服务器应存储此特定会话已启用JS ,并为将来的请求采取必要的操作。
答案 2 :(得分:0)
您无法使用服务器控件来检测浏览器是否会为当前页面启用Javascript。原因:您正在尝试预测未来,因为该页面尚未发送给客户端!
使用nick的答案技巧来检测JS,然后将答案存储在用户的会话中。
已添加:请参阅http://www.codeproject.com/KB/user-controls/CheckJavascriptEnabled.aspx