【问题标题】:How to detect if DIV content is appear in browser or not?如何检测 DIV 内容是否出现在浏览器中?
【发布时间】:2010-07-31 01:55:14
【问题描述】:

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

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

在 C# 代码中,如果我在任何时候得到jsDivinnerTextinnerHtml,无论是启用还是禁用javascript,它都会得到与div 内容相同的结果...
我的问题是: 如何从 C# 代码中检测在浏览器中显示给用户的 div 的当前 innerText ?

【问题讨论】:

    标签: c# asp.net javascript html


    【解决方案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。

    【讨论】:

      【解决方案2】:

      要检测是否启用了 Javascript,您只需让 JS 以某种方式更改某些请求以表明它存在。

      例如,您可以重写某些链接的href,或者填写表格input 值,或者(可能是最好的选择)将AJAX 请求发送回服务器。然后,服务器应存储此特定会话已启用,并为将来的请求采取必要的操作。

      【讨论】:

      • 你能举个例子吗?
      【解决方案3】:

      您不能使用服务器控件来检测浏览器是否会为当前页面打开 Javascript。原因:您正在尝试预测未来,因为页面尚未发送给客户端!

      使用nick's answer的技术检测JS,然后将答案存储在用户的会话中。

      添加:见http://www.codeproject.com/KB/user-controls/CheckJavascriptEnabled.aspx

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-03-20
        • 2010-09-05
        • 2013-06-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多