在HTML5中检测iPad Mini

苹果的iPad Mini是iPad 2的一个更小的克隆,其方式比我们想要的更多。 在JavaScript中, window.navigator对象为Mini和iPad 2提供了相同的值。我迄今为止检测差异的测试没有成功。

为什么这很重要?

由于iPad Mini和iPad 2屏幕像素相同,但实际尺寸(英寸/厘米)不同,因此它们在PPI(每英寸像素)上有所不同。

对于网络应用程序和游戏提供友好的用户界面,某些元素的尺寸相对于用户的拇指或手指位置进行了调整,因此,我们可能想要缩放某些图像或按钮以提供更好的用户体验。

目前为止我尝试过的东西(包括一些非常明显的方法):

  • window.devicepixelratio
  • 以cm为单位的CSS元素宽度
  • CSS媒体查询(例如resolution-webkit-device-pixel-ratio
  • 类似单位的SVG图纸
  • 做各种CSS webkit转换一段时间并使用requestAnimFrame计算渲染帧(我希望能够检测到可测量的差异)
  • 我刚刚从创意中脱颖而出。 你呢?

    更新感谢迄今的回应。 我想评论一下投票反对检测iPad mini和2的人,因为苹果公司有一个呃,一个指导方针来统治他们。 好的,这是我的推理,为什么我觉得在世界上知道一个人是否使用iPad mini或者2是真的很有意义。并且根据我的推理做你喜欢的事情。

    iPad mini不仅是一个更小的设备(9.7英寸与7.9英寸),但其外形允许不同的用途。 除非你是Chuck Norris,否则在游戏中iPad 2通常由两只手握住。 迷你比较小,但它也轻得多,并且允许您单手拿着游戏并使用另一个来轻扫或轻敲或不使用游戏。 作为一名游戏设计师和开发人员,我只想知道它是否是一个迷你游戏,所以如果我愿意(例如在与一组玩家进行A / B测试之后)选择为玩家提供不同的控制策略。

    为什么? 嗯,大多数用户倾向于使用默认设置,因此在播放器加载完成时忽略了一个虚拟的拇指按钮并在屏幕上放置了其他基于Tap的控件(这里只给出一个任意示例)比赛的第一次是我,恐怕其他游戏设计师,很想能够做到。

    因此,恕我直言,这超出了厚厚的手指/指导方针讨论,只是苹果和所有其他供应商应该做的事情:让我们唯一识别您的设备,并思考不同,而不是遵循指导方针。


    播放立体声音频文件,并在右声道和左声道的音量较高时比较加速度计响应 - iPad2具有单声道扬声器,而iPad Mini具有内置立体声扬声器。

    需要您的帮助来收集数据,请访问此页面,并帮助我收集这个疯狂的想法的数据。 我没有iPad mini,所以我真的需要你的帮助


    更新:它看起来像这些值在创建标签时报告视口宽度和高度,并且它们在旋转时不会更改,所以此方法不能用于设备检测

    您可以使用screen.availWidthscreen.availHeight因为它们对于iPad Mini和iPad 2来说看起来不同。

    小型平板电脑

    screen.availWidth = 768
    screen.availHeight = 1004
    

    iPad 2

    screen.availWidth = 748
    screen.availHeight = 1024
    

    资料来源:http://konstruktors.com/blog/web-design/4396-detect-ipad-mini-javascript/


    我知道这可能是一个低科技解决方案,但因为我们似乎还没有拿出任何其他东西。

    我假设你已经检查了大多数其他设备,所以我看到以下情况可能。

    你可以检查所有可能的最流行的设备,需要特殊的CSS /大小,并且如果它们都不匹配,或者假设它是iPad mini或者只是询问用户?

    // Device checks here
    ...
    else {
      // it would probably be better to make this a nicer popup-thing
      var mini = prompt("Are you using a iPad mini? Press yes for a better user experience");
      // Store the result for future visits somehow.
    }
    

    我知道这可能看起来像是一个愚蠢的做法,但如果我们目前无法确定设备是iPad mini还是iPad 2,那么至少该网站可以使用iPad mini设备来做这样的事情。

    你甚至可以这样做:

    “为了给您提供最佳的浏览体验,我们尝试检测您的设备类型,以便将设备定制到您的设备。不幸的是,由于局限性,这并非总是可行的,目前我们无法确定您是使用iPad 2还是iPad迷你通过使用这些方法。

    为了获得最佳浏览体验,请在下面选择您正在使用的设备。

    该选择将被存储用于将来访问该设备上的网站。

    [] iPad 2 
    [*] iPad mini
    [] Ancient blackberry device
    

    我不完全熟悉你可以做什么,不能在Javascript中做客户端。 我知道你可以得到用户的IP,但是有可能获得用户的MAC地址吗? 这些范围在iPad2和iPad mini之间是不同的?

    链接地址: http://www.djcxy.com/p/27047.html

    上一篇: Detect iPad Mini in HTML5

    下一篇: swipe right Facebook style navigation / layout