【问题标题】:Block jquery mobile scripts and meta viewpoint for desktop users为桌面用户阻止 jquery 移动脚本和元视点
【发布时间】:2013-03-06 13:11:52
【问题描述】:

从品牌到 Stack Overflow 和移动设计。

我正在使用 JQUERY Mobile。而且我觉得我对媒体查询有了基本的了解。但是我找不到答案的一个问题(所以我可能看错了)是当桌面用户浏览时如何不在页面上运行以下内容?

由于这不是由 CSS 定义的,因此媒体查询将不起作用。如果 javascript 有效,有人可以帮我编写代码。我尝试了以下但我不知道javascript:

<script>
if (document.documentElement.clientWidth < 641) 
{    
<meta name="viewport" content="width=device-width, initial-scale=1"> 
<script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
<script src="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.js"></script>
}
</script >

我知道我可以使用移动 PHP 嗅探器,但由于“维护”,我不想走那条路。

提前谢谢你

编辑:

看起来下面的方法会起作用(示例 #4)。

http://php.net/manual/en/faq.html.php

但我担心的是为什么似乎更多的人没有遇到这个问题?我错过了一些非常明显的东西吗?如果您为移动和桌面使用相同的页面并且您使用的是 jquery 移动脚本,那么您不希望它们为桌面用户运行。

【问题讨论】:

    标签: javascript mobile media-queries


    【解决方案1】:

    您需要针对移动设备进行操作。您可以定位的两种方式是:

    1. 检查用户代理服务器端

      if( strstr($_SERVER['HTTP_USER_AGENT'],'Android') ||
          strstr($_SERVER['HTTP_USER_AGENT'],'webOS') ||
          strstr($_SERVER['HTTP_USER_AGENT'],'iPhone') ||
          strstr($_SERVER['HTTP_USER_AGENT'],'iPod')
          ){
          // Send Mobile Site
      }
      
    2. 检查用户代理客户端

      if( navigator.userAgent.match(/Android/i) ||
          navigator.userAgent.match(/webOS/i) ||
          navigator.userAgent.match(/iPhone/i) ||
          navigator.userAgent.match(/iPod/i) ||
          ){
       // Send Mobile Site
      }
      

    如果他们似乎使用移动设备,请确保显示移动 CSS 和 Viewport Meta。我认为viewport meta 不会影响桌面用户。

    【讨论】:

    • 谢谢普拉文。但这不会让我处于与使用嗅探器相同的位置吗?每当引入新的操作系统时,我都需要更新代码(最近似乎是每月一次!)。
    • 每月?你是什​​么意思?在这种情况下,您无需更新任何内容。
    • 例如,Windows 有一个新的移动操作系统。不需要加吗?
    • 是的,有点...但是一旦添加,这将是永久性的,不需要每个版本。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-30
    • 2021-04-03
    • 1970-01-01
    相关资源
    最近更新 更多