2012-03-06 6 views
2

@font-face CSSルールで定義されたWebFontがあるとします。実行時にJSを使用してさらにCSSを追加したいと思います。私はFOUT at load timeについて話していません。Webfont定義を重複してちらつくのを防ぐには?

私のフレームワークでは時々という非常に同じ@font-faceの規則が追加されます。 FirefoxとChromeでフォントファイルを再ダウンロード(またはディスクキャッシュに保存)しようとすると、フリッカーが発生します。

デモ:http://jsfiddle.net/Hg9Pc/(Firefoxの、この特定の場合は、Chromeで正常に動作します)

「ちょうどそれをしない」よりも、このちらつき他のを防止する方法はありますか? クレイジーキャッシュヘッダーか何か?

+0

フレームワークがルールを2回追加する理由を調べる必要があります。 – RoToRa

+0

@RoToRa実際、私は部分的に自分自身でフレームワークを書いており、この問題を防ぐのはかなり難しいです。確かに可能ですが、大量の作業が必要になります。 – user123444555621

答えて

2

実際に別の@font-faceコールを呼び出すと、ちらつきを防ぐことはできません。しかし、あなたが以下の2つのいずれかを行うことができるかもしれないように思える:

  1. Javascriptを取捨選択し、余分な定義(ページにロードする前に、これは確かにかなり困難であろうことを削除持っています私は思うが不可能ではない仕事)。

  2. 可能であれば、元の実装を別のフォント名で定義します。たとえば、元のフォントはMy Arialと定義されているので、後でArial(私はあなたがArialのために@font-faceを使用しないことを知っています、それは例のためのものです)は、両方とも同じファイルを指し示していますページが実際にMy Arialの定義を置き換えようとしていないため、フリッカーは発生しません。この問題は、あなたがどこにでもインスタンスが存在する場合に発生します。doは上書きしたいと思うでしょう。

+0

1.私がやろうとしていたことはかなりありました:) 2.オプションではありません。基本的に私のWebアプリケーションでは、ユーザー定義のCSSが可能です。サーバー往復なしでJSFiddleを考えてください。まあ、そうではありませんが、そのようなものです。 – user123444555621

+0

@ Pumbaa80 - ページのセクションに影響を与えることを意図したユーザーのCSSですか、それともページ全体に影響すると思われますか?自分のエリアやページ全体でちらつきを避けようとしていますか? – ScottS

+0

両方。私はいくつかのコードを表示したいと思いますが、これは私の会社の閉鎖ソースプロジェクトです。 – user123444555621

関連する問題