这里有一些问题。 我的目标是当您访问页面时,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
%>
首次加载页面时,没有任何反应。如果你转到页面并刷新它,它就会开始工作。虽然它确实有效,但它的可用性并不是很好。有什么我做错了吗? 提前致谢
答案 0 :(得分:1)
ASP代码(<% %>
之间的部分)在服务器端执行(即在页面传递到客户端之前),而JavaScript代码在客户端上执行side(即在页面传递给客户端之后)。实际上,您有效地尝试在实际创建之前读取cookie。您需要制作显示代码客户端代码(最好是JavaScript)。
答案 1 :(得分:1)
这是因为cookie是在执行VBScript之后创建的,因此VBScript在下次加载之前不会看到cookie。
我会考虑使用ajax在页面上进行更改,以便在首次加载时进行渲染。
您可以查看$.ajax()
,了解有关如何执行此操作的详细信息。