2

Mozilla が FireFox 16 のレンダリング エンジンに下位互換性を持たせるための新しい変更を行わない場合、ブラウザが CSS3 非マトリックス変換をマトリックスに変換しないようにするにはどうすればよいですか?

以下は、これが JavaScript ベースのアニメーションに与える影響と、それが私にとって重要な理由の例です。

私のsupport.mozilla.orgの質問から貼り付けました

pilatch.com/cardsにアクセスして、アーク内の任意のカードをクリックします。Chrome、Safari、または IE 9 で同じことを行ってください。すべての JavaScript を un-min-catted したので、何が起こっているかをより簡単に確認できます。

FireFox のバージョン 16 の CSS3 変換は、マトリックス変換に変換されています。それは私の回転とスケールのアニメーションをかなり嫌う。たとえば、要素のスタイル属性を style="transform:scale(0.75)" のように設定すると、FireFox はすぐにその要素の変換プロパティ (.style.transform など) を "matrix(...)" に変換します。 .

線形代数を使って、jQuery cssHooks を介して回転とスケーリングを行列変換に変換する方法を知っています。また、ブラウザのこの「機能」(行列への変換を強制する) を検出するコードを作成し、回転変換またはスケールの代わりにマトリックス変換を書き込む別のフック、すべて過去 2 日間、私の開発サイトで。

ただし、この新機能を jQuery のアニメーションと互換性を持たせることはますます困難になっています。さらに進むと、FireFox でこれを機能させるためだけに jQuery をハックするか、一部の FireFox 開発者が新しい実装に下位互換性を持たせない限り、FireFox アニメーションのサポートを完全に取り下げる必要があるかもしれません。

変換は通常、レンダリング エンジンの舞台裏で行列に変換されることを知っています。マトリックスをそのままにしておきます。ユーザーが変換のために入力したものを上書きしないでください!

また、CSS3 アニメーションを使用する必要があることもわかっていますが、それが広くサポートされる前にこのプロジェクトを開始しました。FireFox をサポートしたいので、すべてのアニメーションを書き直すことはできません。それは本当にオプションではありません。代わりに、ユーザーを Chrome に誘導します。これらのタイプのアニメーションを使用する開発中の機能は他にもありますが、後戻りするには深すぎます。

4

0 に答える 0