Mit*_*tch 2 django django-templates
我有一些子模板有额外的,包括jquery脚本.有时他们一起使用.如何只加载一次jquery javascript文件?如果设置模板变量很方便,我可以在包含该行之前设置并检查一个.
我的建议:只需在你的基础上包含jQuery <head>并将其称为一天.如果子模板是否使用jQuery,您将不必担心,并且在第一页加载时它只是一个19kb的下载而且就是这样.如果您使用Google的API云,它可能甚至不是任何用户可能从其他网站缓存的云.
这可能不适合你,但我建议你尽可能考虑它.
我解决这个问题的常用方法是将所有子模板包装在一个模板中,该模板负责我的包含(JS和CSS).然后我确保我的缓存设置正确,这样每个用户只下载一次这些脚本.换句话说,我强制在第一个视图上下载所有外部脚本,然后依靠缓存每次都不重新下载JS.
将所有JS组合到一个文件中也会缩短下载时间,因为会减少要生成的请求.
另外需要注意的是你提到把JS放在头脑中.虽然大多数人这样做,但将JS放在头部可能会使您的页面加载速度变慢.JS文件不是并行下载的,因此它们会阻止所有其他下载.谷歌和雅虎建议将JS放在页面底部尽可能改善用户体验.
请参阅Yahoo YSlow工具和Google PageSpeed工具.