我使用 YSlow 来检查我的网络的加载速度。根据规则,最好有一个大的外部 javascript,而不是多个外部 javascript。规则中写了使用大量外部javascript会导致大量http请求,这是不好的。
我正在使用 CKEditor,我想将它与其他 javascripts 组合成一个大的外部 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 编辑器似乎加载了其他具有相对位置的外部 javascript。将脚本移动到其他文件中肯定会导致错误。
所以,我的问题是:有什么通用的解决方法吗?我的意思是,它可能是其他具有这种行为的脚本(不仅是 CK-Editor)。
编辑:我认为使用 head.js (http://headjs.com/) 是最好的选择