我有优化问题——我的网站使用了 2 个(相当大的)javascript 资源:
- application.js(最小化 jquery、jquery-ui、underscore-js 和一些共享脚本,总共 120KB)
- 特定于控制器的文件(页面 + 交互所需的一些模块,总共 4KB)
我在视图中有一些脚本可以使用 JavaScript 格式化/转换标记(依赖于 jQuery 和我的控制器特定的 JS 代码),所以我需要等待 $(document).ready 或 head.ready 并且它是网站不可见以防止无样式内容的闪烁:(
现在我的问题来了:我应该使用 head.js 还是只使用“之前”脚本?在这种情况下,有什么聪明的方法可以加快页面加载时间吗?
更新:这是代码的一部分(完整代码请参见 vsio.com,登陆页面):
<html>
<head>
... usual stuff
<link (css stuff) />
<script src="head.js"></script>
<script>
// Here some global variables are set like cache keys, actual locale code etc., not dependable on jQuery or any other JS code from the JS assets
</script>
</head>
<body>
... page content
<div id="search">!-- here some code with the "display: none" style to prevent flash of unstyled content</div>
<script>
// Here is code that positions and processes some styles and adds some interactions to the #search div
Application.Position.In.Center($(#search), $(document));
</script>
... more page content
... another "display: none" div and accompanying script
... rest of the page content
<script type="text/javascript">head.js( { 'application': 'application.js' }, { 'landing': 'landing.js' } );</script>
</body>
</html>