4

iPadなどのモバイルデバイスで、position:fixedがサポートされている場合にのみ機能する機能を無効にしたいと思います。ユーザーエージェント文字列を使用せずにこれらのデバイスを検出する方法はありますか?その理由は、iPad、iPhone、iPod、Androidなどの検索はなるべく避けたいからです。

4

2 に答える 2

3

次の関数を実行して、サポートをテストしposition:fixedます。

働き () {
  var isSupported = null;
  if(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);
          }
      }
  }
  isSupportedを返します。
}

http://kangax.github.com/cft/#IS_POSITION_FIXED_SUPPORTEDから

于 2010-10-12T05:42:00.620 に答える
0

また、Opera Mini では誤検知を返します。

単純に position:fixed を要素に設定してから読み戻さないのはなぜですか? position:fixed がサポートされていない戻り値の場合、理論的には fixed と等しくないはずです

これは Opera Mini では機能しません: position を「fixed」に設定すると、サポートされていなくても「fixed」として読み取られます。

于 2013-06-24T01:02:48.503 に答える