私は実行して積極的にフォーラムを開発しています(これは重度に変更されたSMF 1.1.16で動作します)。私が追加したい機能の1つは、ユーザーがカスタムカラーを選択する機能ですフォーラムの色をカスタマイズするページの隅。ユーザーカスタムスタイリングはdocument.ready + localStorageで動作しますか?
フォーラムのHTML出力は、純粋なCSSで色を変更できるように構成されています。このCSSを挿入する正しい方法は何ですか?
ユーザーが色情報を保存すると、必要なCSSが生成され、HTML5 localStorage(おそらくpolyfillライブラリを使用)を使用して保存されます。次に、$(document).ready()上にこのCSSが存在するかどうかをチェックし、存在する場合はそれをページの先頭に挿入します。
このアプローチは賢明ですか?開発は簡単ですが、カスタムスタイリングが適用される前に、通常のスタイリングのちらつきが発生します(ページがかなり重いため)。
もしそうなら、これを完全にクライアント側で行うより良い方法はありますか?可能であればサーバーを関与させたくないかもしれませんが、カスタム・スタイリングを保存するすべてのユーザーのためにサーバーにCSSファイルを生成させることができます。
どのような方法が最適ですか?
ディスプレイは:おそらく少し劇的に聞こえるかもしれませんが、ユーザーが色を適用する前に何も見ないことを確実にする巧妙な方法です。フェードは主にCSSアニメーションで行うことができますが、ほとんどのユーザーがページを非常にすばやく移動するので、気にならないものになると思っています。しかし、私がここで求めている主な質問は、「スナップ」が存在するかどうかと、それが目立たないほど迅速に適用されるかどうかということです。ページの読み込み/レンダリングで最も初期のポイントは何ですか?私はCSSを頭に注入できましたか? – danbo
@danny bodyタグが解析される前にすべてのスタイルが解析されるのが理想的です。私はあなたが頭にこのカスタムスタイルのローダーを行うことをお勧めします。 – Joseph