我有一个网站有很多js文件,现在我已经将它们加载到头部。但是我听说这不是一个优化的方法,最好在主体结束时加载它们。 我怎么能告诉symfony加载所有的JavaScript在页面的结尾(不是在开始)。由于性能问题,最好在页面加载结束时加载它们(在加载html和css之后)如何在页面末尾加载javascripts
但是我该怎么做?我使用use_javascript()函数来加载它们。但它会将它们加载到页面顶部的头部。有没有办法告诉symfony做到这一点?
感谢您的帮助。
我有一个网站有很多js文件,现在我已经将它们加载到头部。但是我听说这不是一个优化的方法,最好在主体结束时加载它们。 我怎么能告诉symfony加载所有的JavaScript在页面的结尾(不是在开始)。由于性能问题,最好在页面加载结束时加载它们(在加载html和css之后)如何在页面末尾加载javascripts
但是我该怎么做?我使用use_javascript()函数来加载它们。但它会将它们加载到页面顶部的头部。有没有办法告诉symfony做到这一点?
感谢您的帮助。
据对.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>
打开你的布局文件 - 默认的是类似的东西:
apps/frontend/templates/layout.php
寻找include_javascripts()
电话。切&粘贴在HTML的底部,只是身体结束标记之前:
<?php include_javascripts() ?>
</body>
</html>
瞧!所有的JavaScript文件都包含在页面的底部。
如果您的代码依赖于某些库(jQuery的,MooTools的,原型等),你有一些内嵌的JavaScript代码(非常糟糕的做法),你将有一些问题,因为你的内嵌代码会列入前outputed这些图书馆。前面提到的过滤器看起来是一个很好的解决方法。如果通过use_javascript()
函数包含所有代码,或者您的JavaScript代码没有依赖关系,那么您再也不需要它了。
还有一件事。如果你想真正优化你的代码,你应该尽可能少地提出请求。一个好的做法是将所有.js文件合并成一个,将所有内容缩小并将其包含在您的应用中。
对于拳头,你需要使用DOM或功能JS加载JS,
看看这里的实施http://www.gee.web.id/2016/11/solusi-blogspot-untuk-speed-leverage.html
,然后执行您的jQuery或JavaScript函数需要加载的所有页面第一,比作命令功能,请执行此处请参考http://www.gee.web.id/2016/11/how-to-execute-javascript-when-page-has.html