这取决于你想要什么。你想要提高页面速度吗?
如果您想优化您的网站以提高页面速度,我建议将 CSS 和 JavaScript 文件合并到单个文件中(automate this process 有工具)。此外,如果您真的想优化您的网站以提高页面速度,您可以动态应用组合的 CSS 和 JavaScript,方法是将以下 sn-p 放在关闭 body 标记之前,以便可以在执行 Javascript 之前呈现 HTML :
<script type="text/javascript">
function (sources) {
for (var i = 0; i < sources.length; i++) {
var head = document.getElementsByTagName('head')[0];
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = sources[i];
head.appendChild(script);
}
})([
'//domain.com/combined.js'
]);
</script>
请注意,JavaScript 文件不以同步顺序加载,但使用单个组合脚本并不重要。
对于工作表,我使用以下算法:
确定是否是会话的第一个页面视图:
如果是这样,在head 标签中内联组合的 CSS:
<html>
<head>
<style><? echo file_get_contens('./path_to_combined_style.css'); ?></style>
</head>
</html>
如果没有,只需在 head 标签中包含 CSS 链接:
<html>
<head>
<link rel="stylesheet" href="//domain.com/path-to-combined-style.css" type="text/css" />
</head>
</html>
然后您可以通过执行XMLHttpRequest 在第一次加载时强制缓存为 CSS 样式,为简单起见,我在这里使用jQuery:
$(document).ready(function(){
var href = "//domain.com/path-to-combined-style.css";
$link = $("link[href='" + href + "']");
if ($link.size() === 0) {
$.get(href);
}
});
你可以把它放在组合的 JavaScript 中。
请注意,您将无法利用 CDN 的速度优势。要解决此问题,您可以将合并的资源发布到您自己的 CDN。您将失去用户已经缓存引导程序的可能性。
当然,整个过程需要一些知识和经验,因此您可能需要考虑使用像 CloudFlare 这样的工具,它可以很好地优化您的网站。