4

在 iPad 等移动设备上,我想禁用仅在支持 position:fixed 时才有效的功能。有没有办法在不使用用户代理字符串的情况下检测这些设备?原因是我想尽可能避免搜索 iPad、iPhone、iPod、Android 等。

4

2 回答 2

3

运行以下函数来测试position:fixed支持。

功能 () {
  var isSupported = null;
  如果(document.createElement){
      var el = document.createElement("div");
      if (el && el.style) {
          el.style.position = "固定";
          el.style.top = "10px";
          var root = document.body;
          if (root && root.appendChild && root.removeChild) {
              root.appendChild(el);
              isSupported = el.offsetTop === 10;
              root.removeChild(el);
          }
      }
  }
  返回支持;
}

来自http://kangax.github.com/cft/#IS_POSITION_FIXED_SUPPORTED

于 2010-10-12T05:42:00.620 回答
0

还会在 Opera Mini 上返回误报。

为什么不简单地设置一个位置:固定在某个元素上,然后再读回来呢?如果 position:fixed 不支持返回值,理论上不应该等于 fixed

这在 Opera Mini 上不起作用:您可以将位置设置为“固定”,即使不支持它也会读取为“固定”。

于 2013-06-24T01:02:48.503 回答