0

CDNでホストされている外部JavaScriptライブラリを使用しています。

一部のユーザーは、このライブラリを必要とするページに最初にアクセスしたときに、読み込みとレンダリングに少し時間がかかると報告しています(ライブラリはLaTeXをレンダリングします)。

彼らが実際にそれを使用するページに到着する前に、他のいくつかのページにこのライブラリを(事前に)ロードすることによって、彼らの経験を最適化できるかどうか疑問に思います。このように、ブラウザがライブラリを早期にキャッシュすることを願っています。そうすれば、レンダリングが後でより速く行われる可能性があります。

PS問題のライブラリはMathJaxです。

4

2 に答える 2

2

具体的には MathJax に関心があるため、単純にロードするだけではパフォーマンスは向上しません。(ただし、MathJax はキャッシュされますが、MathJax CDN を使用している場合、ユーザーが他のサイトにアクセスしているときに既にキャッシュされている可能性があります。)

パフォーマンスがあまり向上しない可能性が高い理由は 2 つあります。

まず、MathJax はほとんどのコンポーネントを動的にロードします。たとえば、MathJax Web フォントは、互換性のあるフォントがユーザーのシステムにインストールされていない場合にのみ読み込まれ、MathJax が実際に文字に遭遇した場合にのみ読み込まれるようにいくつかの部分に分割されます。他のコンポーネントについても同様です。これはまた、数学のないページでは、MathJax をロードしてもあまりキャッシュに役立たないことを意味します。

そうは言っても、MathJax コンポーネントの実際のダウンロードは、 で終わる結合構成ファイルの 1 つを使用して少し最適化できます。MathJax のドキュメント-fullを参照してください。

ただし、通常、実際にパフォーマンスに影響を与えるのは組版です。MathJax の出力は、ユーザーの画面、ブラウザー、OS の組み合わせだけでなく、コンテンツによっても異なります。コンテンツの挿入とリフローだけでなく、最適なフィットの計算も、いくつかの基本的な制限がある問題です (IE8 は標準モードで特に悪い仕事をします)。

PS: 非表示または動的なコンテンツがある場合は、構成オプションを確認することをお勧めしますskipStartupTypeset: trueMathJax のドキュメントを参照してください。

[免責事項: 私は MathJax の一員です]

于 2012-12-17T00:57:55.420 に答える
0

ページの最後 (html 終了タグの直前) にライブラリを呼び出すスクリプト タグを追加すると、他のすべてがその前に読み込まれ、ユーザーはライブラリがまだ読み込まれている間にページの使用を開始できます。

編集:これにより、速度を落とさずにライブラリを別のページに「事前にロード」できます。

于 2012-12-15T14:46:18.610 に答える