ホームページ  >  記事  >  ウェブフロントエンド  >  ブラウザの core_javascript スキルを判断するための非常に単純な js の一部

ブラウザの core_javascript スキルを判断するための非常に単純な js の一部

WBOY
WBOYオリジナル
2016-05-16 16:39:311201ブラウズ

JavaScript インライン スタイルの書き方を誰もがまだ覚えているはずですよね? (ナンセンスなことを言っているようです!)

フロントエンド開発プロセスでは、ブラウザーのカーネル プレフィックスを決定し、異なるブラウザーを異なる方法で処理する必要がある場合があります。そのため、これを行うことができます。

alert(element.style.webkitTransition); これは、webkit が接頭辞として付けられた遷移値を取得するためのものです。ただし、ブラウザーに webkit というプレフィックスが付いていないと、unknown が返されます。そして、すべてのカーネル プレフィックスを列挙し、その CSS の 1 つの値を取得して判断することができます。コードは次のとおりです:

function getVendorPrefix() {
  // 使用body是为了避免在还需要传入元素
  var body = document.body || document.documentElement,
    style = body.style,
    vendor = ['webkit', 'khtml', 'moz', 'ms', 'o'],
    i = 0;

  while (i < vendor.length) {
    // 此处进行判断是否有对应的内核前缀
    if (typeof style[vendor[i] + 'Transition'] === 'string') {
      return vendor[i];
    }
    i++;
  }
}

その後、ブラウザのカーネル プレフィックスを知るために getVendorPrefix() を呼び出すだけで済みます。unknown が返された場合は、ブラウザが CSS3 属性をサポートしていない、つまりカーネル プレフィックスが存在しないことがわかります。

コードを書くとき、JavaScript の代わりに CSS を書くことができることは、結局のところ、自分で JS を書くよりも高いということを誰もが知っているはずです。そのため、いくつかの実用的なアプリケーションの開発では、transition を使用します。たとえば、単純な画像カルーセルの場合、CSS3 トランジション、jQuery アニメーションを使用するか、ネイティブ コードを自分で作成することもできますが、CSS3 のパフォーマンスは間違いなく高いため、CSS3 をサポートしていないブラウザの場合は 2 セットのコードを作成できます。サポートされている場合はアニメーションを使用し、サポートされていない場合はタイマーまたはアニメーションを使用します。このようにして、より良いユーザーエクスペリエンスを得ることができます。

上記は jquery.slides.js のプラグイン体験です。もっと良い方法があれば作者にお知らせください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。