使用vbscript获取页面访问时的屏幕宽度

时间:2014-09-24 10:23:31

标签: javascript jquery cookies vbscript asp-classic

这里有一些问题。 我的目标是当您访问页面时,javascript获取浏览器宽度并将其设置为cookie。在页面下面还有几行,vbscript会获取cookie,读取值并确定是否显示内容。这就是我到目前为止所做的:

<script> 
var width = $(window).width();
document.cookie = 'ScreenWidth=; expires=Thu, 01-Jan-70 00:00:01 GMT;';
document.cookie = 'ScreenWidth='+width; 
</script>
<%
    Dim ScreenWidth
    Dim minWidth
    minWidth = 768
    ScreenWidth=request.Cookies("ScreenWidth")
    'response.Write("screen width: "&ScreenWidth)
    If ScreenWidth > minWidth Then
       'display code
    End If
%> 

首次加载页面时,没有任何反应。如果你转到页面并刷新它,它就会开始工作。虽然它确实有效,但它的可用性并不是很好。有什么我做错了吗? 提前致谢

2 个答案:

答案 0 :(得分:1)

ASP代码(<% %>之间的部分)在服务器端执行(即页面传递到客户端之前),而JavaScript代码在客户端上执行side(即页面传递给客户端之后)。实际上,您有效地尝试在实际创建之前读取cookie。您需要制作显示代码客户端代码(最好是JavaScript)。

答案 1 :(得分:1)

这是因为cookie是在执行VBScript之后创建的,因此VBScript在下次加载之前不会看到cookie。

我会考虑使用ajax在页面上进行更改,以便在首次加载时进行渲染。

您可以查看$.ajax(),了解有关如何执行此操作的详细信息。