1

Google のページ速度は、primefaces.js をロードするとページの速度が低下していることを示しています。

ページ速度レポートから:

JavaScript の解析を延期する ページのレンダリングに必要な JavaScript の量を最小限に抑え、実行が必要になるまで不要な JavaScript の解析を延期することで、ページの初期読み込み時間を短縮できます。

Suggestions for this page
 284.3KiB of JavaScript is parsed during initial page load. Defer parsing JavaScript to reduce blocking of page rendering.
 https://www.mysite.co.uk/.../primefaces.js.xhtml?... (185.4KiB)
 https://www.mysite.co.uk/.../jquery.js.xhtml?... (95.1KiB)

どうすればこれを解決できますか?

4

2 に答える 2

0

同じことに遭遇した他の人のために、この質問に別の解決策を追加します。

ページ速度が推奨する順序を実現するには、primefaces をカスタマイズする必要がありますHeadRenderer。これは PrimeFaces で実装できた可能性があるものですが、v5.2.RC2 では見られません。encodeBegin変更が必要な行は次のとおりです。

96         //Registered Resources
97         UIViewRoot viewRoot = context.getViewRoot();
98         for (UIComponent resource : viewRoot.getComponentResources(context, "head")) {
99             resource.encodeAll(context);
100        }

タグのカスタム コンポーネントを作成し、head上記の動作をオーバーライドするレンダラーにバインドするだけです。

この変更のためだけにメソッド全体を複製するのではなく、「last」というファセットを追加し、スクリプト リソースを新しいdeferredScriptコンポーネントとしてレンダラーの先頭に移動する方がクリーンな場合があります。興味がある場合はお知らせください。その方法を示すためにフォークを作成します。

このアプローチは、新しいリソースの依存関係がコンポーネントに追加されたり、新しいコンポーネントがビューに追加されたりしても壊れないという意味で「将来性」があります。

于 2015-04-02T00:44:38.167 に答える
-1

スクリプトを head タグから body の最後に (閉じる前に) 移動することで、ページの読み込みを遅らせることができるため、ページのマークアップが読み込まれた後にスクリプトの読み込みが開始されます。 chachedスクリプトを使用すると、長い方が長くなります。

于 2013-11-06T14:05:01.233 に答える