我有一个包含大量js文件的网站,我现在已将它们加载到头部。但我听说这不是一种优化方式,最好在身体末端加载它们。 我怎么能告诉symfony在页面的末尾加载我的所有javascripts(而不是在开头)。由于性能问题,最好在页面加载结束时加载它们(在加载html和css之后)
但我怎么能这样做?我正在使用use_javascript()函数来加载它们。但它将它们加载到页面顶部的头部。有没有办法告诉symfony呢?
感谢您的帮助。
答案 0 :(得分:3)
打开布局文件 - 默认布局文件是这样的:
apps/frontend/templates/layout.php
查找include_javascripts()
来电。剪切&将它粘贴到html的底部,就在正文结束标记之前:
<?php include_javascripts() ?>
</body>
</html>
瞧!您的所有javascript文件都包含在页面底部。
如果您的代码依赖于某些库(jQuery,MooTools,Prototype等)并且您有一些内联JavaScript代码(非常糟糕的做法),那么您将遇到一些问题,因为您的内联代码将在包含这些代码之前输出库。前面提到的过滤器看起来是一个很好的解决方法。如果您的所有代码都通过use_javascript()
函数包含在内,或者您的JavaScript代码没有依赖关系,那么您也不需要它。
还有一件事。如果您想真正优化代码,您应该尽可能少地提出请求。一个好的做法是将所有.js文件合并为一个,缩小所有内容并将其包含在您的应用程序中。
答案 1 :(得分:0)
根据.getScript()http://api.jquery.com/jQuery.getScript/的jquery文档,你可以这样做:
<html>
<head>
</head>
<body>
//HTML tags .....
<script>
$.getScript('ajax/test.js', function(data, textStatus){
console.log(data); //data returned
console.log(textStatus); //success
console.log('Load was performed.');
});
</script>
</body>
</html>
答案 2 :(得分:0)
首先,您需要使用DOM或函数JS加载js,
在此处查看实施http://www.gee.web.id/2016/11/solusi-blogspot-untuk-speed-leverage.html
然后执行你的jquery或javascript函数你需要首先加载所有页面而不是创建一个命令函数,实现请在这里cek http://www.gee.web.id/2016/11/how-to-execute-javascript-when-page-has.html