2

我想获得客户端浏览器的宽度,以便调整网页的内容。经过一番研究,我使用带有 jQ​​uery 的 HiddenField 来获取宽度。

<asp:HiddenField runat="server" ID="SendA" Value="" />
    <script>
        document.getElementById("<%=SendA.ClientID%>").value = $(window).width();
    </script>

我还使用计时器每分钟更新一次页面。

问题是,第一次加载页面时,SendA 的值仍然是“”,但在 Timer 更新页面后,SendA 返回正确的浏览器宽度。

首次加载页面时,有什么方法可以获取浏览器宽度?

4

2 回答 2

0
// pure JavaScript
var viewportWidth  = document.documentElement.clientWidth

// jQuery
var viewportWidth  = $(window).width()

查看以下文档以获取更多信息

http://responsejs.com/labs/dimensions/

于 2013-08-01T09:21:13.990 回答
0

问题在于 jQuery 的工作方式,您需要等待文档加载后才能运行 jQuery 代码。这就是为什么将 jQuery 代码放在 HTML 文档的末尾或内部是一个好主意的原因$(document).ready

<asp:HiddenField runat="server" ID="SendA" Value="" />
<script>
    $(document).ready(function () {
        document.getElementById("<%=SendA.ClientID%>").value = $(window).width();
    });
</script>
于 2013-08-01T09:24:30.843 回答