【问题标题】:How to detect screen resolution in (classic) ASP如何在(经典)ASP 中检测屏幕分辨率
【发布时间】:2008-09-23 16:03:02
【问题描述】:

我想检测用户的屏幕尺寸并将其传递给图表应用程序(http://www.advsofteng.com 的 Chart Director)来控制要显示的图像大小。

我必须使用 ASP,但我只能考虑使用 JavaScript 来检测屏幕大小,然后将其传递给服务器端脚本。有没有更简单的方法?

谢谢

【问题讨论】:

    标签: asp-classic


    【解决方案1】:

    不,除了 IP 和浏览器版本等基本信息,服务器对客户端一无所知。 屏幕分辨率可以通过 javascript 轻松确定,并通过 ajax 或通过表单提交传递给服务器。

    【讨论】:

      【解决方案2】:

      【讨论】:

      • 谢谢 - 没有意识到availHeight和availWidth的存在
      【解决方案3】:

      这是我的简单解决方案:

      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")
      

      【讨论】:

      • 这将有时间问题,具体取决于您的经典 asp 如何为页面生成 html / js 输出。您能否根据请求/响应生命周期的流程扩展您的解决方案?
      【解决方案4】:

      不,这对于桌面浏览器是不可能的。我建议嵌入适合典型屏幕分辨率的图像,然后检测画布大小,并重写图像的 src 属性以反映这一点。

      无论如何,您想查看屏幕分辨率,您想查看画布大小。不是每个人都使用最大化窗口的浏览器,尤其是那些大屏幕的浏览器。如果您使用屏幕分辨率,那么您最终会提供对某些人来说太大的图像。

      【讨论】:

        【解决方案5】:

        您不能仅获取浏览器窗口大小的用户屏幕大小,这可以使用 javascript。

        【讨论】:

          【解决方案6】:

          我发现最好的方法是创建一个虚拟的 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")

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2020-03-28
            • 2011-06-05
            • 2011-01-15
            • 2017-12-13
            • 1970-01-01
            相关资源
            最近更新 更多