缓存javascript失败,因为使用了外部javascript
Cache javascript failed, because of the use of external javascript
我已经使用YSlow来检查我的web的加载速度。根据规则,最好有一个大的外部javascript,而不是多个外部java脚本。规则中写道,使用大量外部javascript会导致大量http请求,这是不好的。
我使用的是CKEditor,我想将它与其他java脚本组合成一个大的外部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编辑器)。
编辑:我认为使用head.js(http://headjs.com/)是这里的最佳选项
当尝试同时动态加载所有JavaScripts时,通常会遇到依赖性问题或库冲突问题。
示例:依赖性问题-在加载jQuery之前需要一个需要jQuery的文件。冲突问题-在处理大规模产品时,您可能会遇到冲突的库。例如,加载两个具有相同库名称但功能不同的文件。
如果你真的看到了很多速度减慢,并且想将所有JS文件组合在文件组合代码中,请设置依赖项。这方面的一个简化示例是创建一个库数组,这些库在任何主要JS片段之前加载。
希望这有助于解决您的问题!
好吧,我不知道你使用的是哪种服务器语言,但如果是PHP,我建议你尝试Smart优化器来解决连接/缩小问题。
使用它,你只需按照自己的意愿添加js,它就会处理它们。现在,我正在与YepNope一起使用它,我相信它也能与HeadJS一起使用。
相关文章:
- LeadLander formalyze_init.js Javascript外部文件
- javascript外部链接文件的可接受数量是多少
- Javascript 外部 API 调用,在 for 循环中使用变量 URL
- Javascript外部对象全局
- 如何通过单击来自javascript外部的复选框来更新AngularJS模型
- 如何在Safari的地址栏中运行javascript(外部URL)
- JavaScript外部文件隐藏源代码
- Javascript外部文件函数赢得'我以前不工作
- Javascript-外部库/文件引用
- 导致对象的Javascript外部文件IE8(Marketo)中出现预期错误
- Javascript:外部函数获胜'不起作用
- Oracle Apex Ghosting Javascript外部文件(bug?)
- 将cookie添加到现有的Javascript外部CSS文件交换中
- 在ajax中运行javascript外部链接甚至内部链接
- AS3/JavaScript外部接口和文件上传
- Elasticsearch javascript外部脚本示例
- 如何使用另一个javascript src调用javascript外部src
- Javascript外部文件链接不正确
- GWT + SmartGWT + Javascript:外部脚本集成
- javascript外部不能与onsen框架一起工作