CSS インターフェイスの型が function から object へ変わりました

公開日: | カテゴリー: CSS, DOM

概要

CSS ワーキンググループ内での 議論 の結果、CSS インターフェイスが内部的には名前空間となりました。この変更に伴い、typeof CSS"function" の代わりに "object" を返すようになったため、これを用いて機能判別を実装する際には注意が必要です。

// これは今後動作しません
if (typeof CSS === 'function' && typeof CSS.supports === 'function') {
  // CSS.supports が使用可能
}

// 書き換え例 1
if (typeof CSS !== 'undefined' && typeof CSS.supports === 'function')

// 書き換え例 2
if ('CSS' in window && typeof CSS.supports === 'function')

参考資料