10

なんらかの理由で、私のページは一部 (私のCSSファイルの約 1/3) しかロードしていません。連結して縮小したものです。http://staging.easyuniv.com/styles/dbf42ab5.main.cssにアクセスすると 、すべてを見ることができます。

最も奇妙な部分は、Chrome Dev Tools のソースを見ると、約 3 分の 1 が空白になる (クラス名の真ん中) が、テキストがそこにあるかのように残りの部分をスクロールできることです。 .

次のようにページにロードしています。

<link rel="stylesheet" href="styles/dbf42ab5.main.css">

このようなことに遭遇したことのある人はいますか?試してみたいものがなくなってきました。

4

3 に答える 3

7

ファイルは有効とはほど遠いので、おそらく調べる必要がありますが、これが私が見つけたものです…

試行錯誤の結果、Chrome デベロッパー ツールを使用すると、1 行に連結された CSS ファイルが途切れたように見えることがわかりました。Ctrlファイルは+ Shift+を使用して解析されF、ファイルの最後で何かを検索したようです (私は を検索していましたzag-divider)。Chrome は見つかったと報告していますが、見つかったカウントは間違っているようです。

具体的には、この CSS ファイルの 66,537 文字以上の行はすべて切り取られるようです。例えば:

  • 1 行の CSS ファイル <= 66,536 文字は切り捨てられません
  • 1 行の CSS ファイル >= 66,537 文字は切り捨てられます
  • 複数行の CSS ファイル >= 66,537 文字の場合、>= 66,537 の行のみが切り捨てられます。

CSS の正確に 66,537 文字の 1 行が切り取られていましたが、最初のセレクターの後にキャリッジ リターンを 1 つ追加してリロードすると、ファイル全体がコンソールに正しく表示されました。

要約すると、66,537 文字以上の任意の行を含む CSS ファイルは、実際にはファイルが完全に読み込まれているにもかかわらず、Chrome 開発者ツールで途中で切り取られたように見えます。Chrome によって適用されたルールを行末に追加して、これをテストしました。

注: 一見マジック ナンバーが 2 16だったらもっと嬉しかったのに

編集:Chrome 23.0.1271.97 mで実施された調査

于 2013-02-14T10:24:35.240 に答える
2

この問題を抱えているが Google Chrome だけを使用しているわけではない Google 社員の場合、切り捨てがNginx と仮想化の既知の落とし穴のsendfile結果ではないことを確認すると役立つ場合があります。これは、サーバー ブロックで無効にすることで解決できます。

この問題の詳細については、次の記事を参照してください: http://www.conroyp.com/2013/04/25/css-javascript-truncated-by-nginx-sendfile/

于 2015-12-30T00:02:25.867 に答える