YSlowを使用してWebの読み込み速度を確認しました。ルールによれば、多くの外部JavaScriptを使用するよりも、1つの大きな外部JavaScriptを使用する方が適切です。多くの外部JavaScriptを使用すると、多くのhttpリクエストが発生するというルールが記述されていますが、これは適切ではありません。
私はCKEditorを使用していますが、それを他のJavaScriptと組み合わせて大きな外部JavaScriptにしたいのです。しかし、ロードするたびに、常にエラーが発生します。コードを読んだ後、私はそれがなぜ起こるのかを知っていると思います。
if ( CKEDITOR.loader )
CKEDITOR.loader.load( 'core/ckeditor' );
else
{
// Set the script name to be loaded by the loader.
CKEDITOR._autoLoad = 'core/ckeditor';
// Include the loader script.
if ( document.body && (!document.readyState || document.readyState == 'complete') )
{
var script = document.createElement( 'script' );
script.type = 'text/javascript';
script.src = CKEDITOR.getUrl( '_source/core/loader.js' );
document.body.appendChild( script );
}
else
{
document.write(
'<script type="text/javascript" src="' + CKEDITOR.getUrl( '_source/core/loader.js' ) + '"></script>' );
}
}
CK Editorは、相対的な場所を持つ他の外部JavaScriptをロードしているようです。スクリプトを他のファイルに移動すると、間違いなくエラーが発生します。
だから、私の質問は:これに対する一般的な回避策はありますか?つまり、そのような動作をする他のスクリプト(CK-Editorだけでなく)である可能性があります。
編集: head.js(http://headjs.com/)を使用するのがここでの最良のオプションだと思います