2011-01-11 19 views
5

私はいくつかのページがほぼ即座にレンダリングされることに気付きましたが、リソースの多くまたはすべて(javascript、image、css)がダウンロードされるまで待たなければならないことがあります。最悪の場合は、大規模なページ、低速の接続またはサーバーの場合が考えられます。私が見ている1つの特定のページは、30個の.jsファイル、12個の.cssファイル、80個のイメージでほぼ2 MBになります。HTMLページがプログレッシブレンダリングを利用できないようにするにはどうすればよいですか?

私はhttp://developer.yahoo.com/performance/rules.htmlの提案を知っていますが、最後の要素がダウンロードされるまでブラウザがページをレンダリングしようとしないのは何でしょうか?

答えて

1

これが起こる理由はいくつかあります。私が見ている最も一般的なものは大きなテーブルです。

たとえば、Internet Explorerは読み込みが完了するまで表をレンダリングしません。

各ブラウザは、まだダウンロードしているものをどのようにレンダリングするかでは少し異なります。

+0

私はそれに影響を与える可能性のあるアイテムのリストに興味があります。私の場合、ページにはテーブルはありませんが、50個程度の埋め込みスクリプトがあります。 – chris

+0

@chris、あなたに私たちにリンクや問題のあるブラウザを教えてもらえれば助かります。私はあなたにリストを与えることはできません。 – Brad

+0

私はIE、FF、およびChromeを試しましたが、どれもプログレッシブレンダリングを行っていません。サイトはtourismnewbrunswick.ca – chris

1

レイアウトに影響を与える構造に関するタグを使用しないことが一般的なルールです。ページの先頭にあるスタイルでは、レンダリングエンジンはページの特定の部分をレンダリングするために何をしなければならないかを知っていますが、適切にレンダリングする方法を知るためには、常にパートをダウンロードするまで待つ必要があります。念頭に置いて

  1. テーブルはrearely(?決して)レイアウトの目的のために使用すべきではありません。
  2. 最初にレンダリングする必要がある部分(サイドバー、ツールバー、ページの枠内にあるもの)は、HTMLドキュメントの先頭に表示されます。

今日使用されている巨大なJavaScriptライブラリは、一度ロード(キャッシュ)するだけで済む点で異なります。

+0

テーブルは実際にはレイアウトの目的で決して使用されるべきではありません。それは何のために作られたものではありません。表は表形式のデータ用です。段落はテキスト用、ヘッダーはヘッダー用と同じです。 –

関連する問題