如何检测DIV内容是否出现在浏览器中?

时间:2010-06-29 04:48:19

标签: c# asp.net javascript html

我的aspx页面中有以下代码,只有在从浏览器禁用javascript时才会出现Javascript is disbaled

<div id="jsDiv" runat="server">
    <noscript>
       Javascript is disbaled 
    </noscript>
</div>

在C#代码中,如果我随时获得innerTextinnerHtml jsDiv,则会获得相同的div内容结果,无论是启用javascript还是禁用... <我的问题是:如何从C#代码中检测浏览器中用户看到的div的当前innerText?

3 个答案:

答案 0 :(得分:1)

的index.html

<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