【发布时间】:2008-09-23 16:03:02
【问题描述】:
我想检测用户的屏幕尺寸并将其传递给图表应用程序(http://www.advsofteng.com 的 Chart Director)来控制要显示的图像大小。
我必须使用 ASP,但我只能考虑使用 JavaScript 来检测屏幕大小,然后将其传递给服务器端脚本。有没有更简单的方法?
谢谢
【问题讨论】:
标签: asp-classic
我想检测用户的屏幕尺寸并将其传递给图表应用程序(http://www.advsofteng.com 的 Chart Director)来控制要显示的图像大小。
我必须使用 ASP,但我只能考虑使用 JavaScript 来检测屏幕大小,然后将其传递给服务器端脚本。有没有更简单的方法?
谢谢
【问题讨论】:
标签: asp-classic
不,除了 IP 和浏览器版本等基本信息,服务器对客户端一无所知。 屏幕分辨率可以通过 javascript 轻松确定,并通过 ajax 或通过表单提交传递给服务器。
【讨论】:
【讨论】:
这是我的简单解决方案:
javascript代码:
document.cookie = "screen_w=" + screen.availWidth ;
document.cookie = "screen_h=" + screen.availHeight;
asp 代码:
screen_w = request.Cookies("screen_w")
screen_h = request.Cookies("screen_h")
【讨论】:
不,这对于桌面浏览器是不可能的。我建议嵌入适合典型屏幕分辨率的图像,然后检测画布大小,并重写图像的 src 属性以反映这一点。
无论如何,您不想查看屏幕分辨率,您想查看画布大小。不是每个人都使用最大化窗口的浏览器,尤其是那些大屏幕的浏览器。如果您使用屏幕分辨率,那么您最终会提供对某些人来说太大的图像。
【讨论】:
您不能仅获取浏览器窗口大小的用户屏幕大小,这可以使用 javascript。
【讨论】:
我发现最好的方法是创建一个虚拟的 asp 页面,它的标题中只包含以下 javascript 代码:
<script type="text/javascript" language="JavaScript">
document.cookie = "screen_w=" + screen.width;
location.href = "second_page.asp"
</script>
然后在 second_page.asp 中可以查找在第一页设置的 cookie。如果在同一个页面设置再请求,第一次就不行了。
myscreenwidth = request.Cookies("screen_w")
【讨论】: