【问题标题】:What does Desktop View / View Desktop Site actually do?Desktop View / View Desktop Site 实际上是做什么的?
【发布时间】:2012-10-02 01:24:19
【问题描述】:

有谁知道在移动浏览器中选择“桌面视图”选项会如何影响 CSS 媒体查询和 Javascript?

我正在制作一个仅供移动用户使用的网站。当我在使用股票 Android 浏览器时选择“桌面视图”时,它会破坏网站。我想有效地忽略桌面视图设置。

谢谢

【问题讨论】:

  • 我相信这个选项只会改变用户代理。
  • 谢谢克拉兹,我相信你是对的 - 请你提供这个作为答案,以便我将其标记为正确。

标签: css html mobile media-queries


【解决方案1】:

我相信这个选项只会改变用户代理。

【讨论】:

    【解决方案2】:

    普通 android 浏览器中的“桌面视图”只是更改发送到服务器的用户代理 (UA) 字符串。如果不选择该选项,典型的 UA 字符串将类似于以下内容:

    Mozilla/5.0(Linux;U;Android {OS 版本};en-gb;{设备型号信息})AppleWebKit/534.30(KHTML,如 Gecko)版本/4.0 移动版Safari/534.30

    启用“桌面视图”选项后,此更改类似于:

    Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.24 (KHTML, 像 Gecko) Chrome/11.0.696.34 Safari/534.24

    如您所见,第一个示例明确包含“Mobile”一词,它还告诉我们它是一个 Android 操作系统。第二个示例通过省略“Mobile”一词来严格模仿“完整浏览器”的用户代理字符串。

    更重要的是,分两部分具体回答原问题;

    此选项如何影响 CSS 媒体查询?

    它没有。 CSS 媒体查询本身不受发送到服务器的 UA 字符串的影响。通常,当我们谈论媒体查询时,我们会参考设备的屏幕尺寸/分辨率/方向,所有这些都不受“桌面视图”选项的影响。只有当服务器根据提供的 UA 字符串提供不同的响应时,网站的 CSS 行为才会改变。

    此选项如何影响 javascript?

    如果您(或您使用的第三方库)使用 Navigator 对象根据浏览器版本修改行为,这会影响 javascript。

    【讨论】:

      【解决方案3】:

      它不一定要更改用户代理,但它会为该用户的网站设置一个会话变量,因此如果他们提出请求,它将跳过用户代理检查并简单地返回桌面网站。

      Example Code:

      <?php
      //See if the browser is a mobile browser
      // If it's mobile browser see if the user prefers desktop version
      // IF the user does not the foward to mobile website.
      
      $browser = $_SERVER['HTTP_USER_AGENT'];
      
      if(preg_match('/iPhone/i',$browser)) { $iphone = "true"; }
      if(preg_match('/Android/i',$browser)) { $android = "true"; }
      
      
      if($iphone == true || $android == true) {
      
          session_start();
          if($_SESSION['version'] != "desktop") {
      
              header("location: http://tuts.pinehead.tv/jqmobile/mobile.php");
      
          }
      
      
      }
      

      【讨论】:

      • 我的意思是当您从 Android 浏览器菜单中选择“查看桌面站点”时。我认为用户 Kraz 在这种情况下是正确的 - 这一切都可以通过 navigator.userAgent 的值的差异来解释。我认为它不一定涉及任何服务器端或会话变量。但您的解决方案在某些情况下是合适的
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-11
      • 2010-11-26
      • 2015-06-23
      • 2017-12-26
      • 2016-10-19
      相关资源
      最近更新 更多