2

試行錯誤の結果、IE 7には32のスタイルシートインクルード(つまりタグ)の上限があることがわかりました。

私は非常に大規模なWebサイトのフロントエンドで作業しています。このフロントエンドでは、CSSを必要な数の個別のファイルに分割したいと考えています。これにより、開発とデバッグがはるかに簡単になります。

展開前にこれらすべてのファイルを単一のパッケージに圧縮するため、パフォーマンスは問題になりません。

問題は開発側にあります。IE 7の上限が32の場合、32を超えるスタイルシートをどのように処理できますか?

これをハッキングする手段はありますか?

私は解決策を考え出そうとしていますが、Ajaxを介してスタイルシートをロードしたとしても、タグを書き込んでいるようです。これは、32スタイルシートの制限にカウントされます。

これは本当ですか?私は32ファイルの制限に固執していますか、それともそれを回避する方法がありますか?

注:これに対するクライアント側のソリューションを求めています。明らかに、圧縮システムがすでに導入されているため、サーバー側のソリューションは必要ありません。テストしたいCSSを少し変更するたびに再圧縮する必要はありません。

4

6 に答える 6

5

これを別の回答として追加して、賛成票と反対票の数を確認します。

IE7をサポートしていません。

編集:混乱を避けるために:私はこれを本当の解決策として真剣に提案していません。炎を出さないでください!

于 2010-10-26T23:16:50.757 に答える
1

@importを試しましたか?

于 2010-10-26T23:12:34.763 に答える
1

サーバー側でCSSファイルを作成し、この特定のページに必要なすべてのファイルをマージします。

ApacheまたはLighttpを使用している場合は、mod_concatの使用を検討してください

于 2010-10-26T23:52:15.620 に答える
1

次のように、cssTextプロパティを使用して、Javascriptを使用して既存のスタイルブロックにスタイルシートを書き込みます。

document.styleSheets [0] .cssText + = ourCss;

詳細はこちら:

http://bushrobot.blogspot.co.uk/2012/06/getting-around-31-stylesheet-limit-in.html

于 2012-07-21T20:13:22.983 に答える
0

私の最後の会社では、すべてのCSSを1つの大きなドキュメントにマッシュアップし、そのワンショットドキュメントを参照するURLをWebページに挿入することでこれを解決しました。これはすべて、ページをクライアントに返す直前にオンザフライで実行されました(動的CSSを生成する舞台裏でたくさんのことが行われていました)。

設定によっては、Webサーバーに同様の処理を実行させることができる場合があります。そうしないと、32個のファイルしか残っていないように見えます。

または、IE7をサポートできませんでした;)

于 2010-10-26T23:15:54.097 に答える
-1

実際には答えではありませんが、Drupal 6(CMS)を使用しているときに、ページが要求されたときにスタイルシートを集約するオプションがあったことを覚えています。おそらく、プログラムで同様のことを行うことができます。

于 2010-10-26T23:17:08.510 に答える