如何以通用方式检测位置缺失:固定?

发布于 2024-09-27 05:27:09 字数 120 浏览 6 评论 0原文

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

On mobile devices such as the iPad, I would like to disable a feature that only works if position:fixed is supported. Is there a way to detect these devices without using the user agent string? The reason is that I would like to avoid searching for iPad, iPhone, iPod, Android, etc if possible.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

绝對不後悔。 2024-10-04 05:27:09

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

function () {
  var isSupported = null;
  if (document.createElement) {
      var el = document.createElement("div");
      if (el && el.style) {
          el.style.position = "fixed";
          el.style.top = "10px";
          var root = document.body;
          if (root && root.appendChild && root.removeChild) {
              root.appendChild(el);
              isSupported = el.offsetTop === 10;
              root.removeChild(el);
          }
      }
  }
  return isSupported;
}

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

Run the following function to test for position:fixed support.

function () {
  var isSupported = null;
  if (document.createElement) {
      var el = document.createElement("div");
      if (el && el.style) {
          el.style.position = "fixed";
          el.style.top = "10px";
          var root = document.body;
          if (root && root.appendChild && root.removeChild) {
              root.appendChild(el);
              isSupported = el.offsetTop === 10;
              root.removeChild(el);
          }
      }
  }
  return isSupported;
}

From http://kangax.github.com/cft/#IS_POSITION_FIXED_SUPPORTED

爱,才寂寞 2024-10-04 05:27:09

Opera Mini 上也会返回误报。

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

这在Opera Mini上不起作用:你可以将position设置为“fixed”,即使它不是,它也会读为“fixed”支持。

also returns a false-positive on Opera Mini.

Why not simply set a position:fixed on some element and then read it back? If position:fixed not supported returned value, should not be equal to fixed in theory

that does not work on Opera Mini: you can set position to "fixed", it will read as "fixed" even though it is not supported.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文