V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
yangg
V2EX  ›  问与答

CSS scroll snap points 怎么用特征检测是否支持

  •  
  •   yangg · 2016-07-16 11:19:30 +08:00 · 1788 次点击
    这是一个创建于 2812 天前的主题,其中的信息可能已经有所发展或是发生改变。

    写了个 demo,关于 scroll snap points 的,滚动的时候自动定位到一项中间

    目前只有 Firefox 和 iOS 的 Safari 和 Chrome 支持,我有 js 使用来检测是否支持

      function isSupport(attr) {
        return ['', 'webkit-', 'ms-'].some(function(prefix) {
          var prefixed = (prefix + attr).replace(/-([a-z])/g, function(_, $1) { return $1.toUpperCase(); });
          return prefixed in document.documentElement.style;
        });
      }
      var isSupport = isSupport('scroll-snap-type') && isSupport('scroll-snap-coordinate');
    

    可是在微信和 qq , Segmentfauls 内置浏览器里检测出来是支持,实际效果却出不来, 这种能利用特征检测出来么?或者问题出在哪里了?

    https://uedsky.com/demo/css-scroll-snap-points.html

    3 条回复    2016-07-25 15:08:22 +08:00
    yangg
        1
    yangg  
    OP
       2016-07-19 15:24:04 +08:00
    这里有前端给看看呗?
    xxxyyy
        2
    xxxyyy  
       2016-07-25 14:41:53 +08:00 via Android   ❤️ 1
    css 的特性检测,在 js 里可以使用 CSS.supports ,在 css 里可以使用 @supports

    至于在微信中没效果,由于没用 iPhone ,就不太清楚了,估计是 UIWebview 的祸吧 :)
    yangg
        3
    yangg  
    OP
       2016-07-25 15:08:22 +08:00
    @xxxyyy CSS.supports 试过也是 true, 也检测不出真实情况
    webview 最杯具的是国内的 qq ,微信, segmentfault 全挂,我试了 medium 和 twitter 别人都可以。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3326 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 11:26 · PVG 19:26 · LAX 04:26 · JFK 07:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.