おそらくご存じのとおり、Google PageSpeed Insightsは JavaScript を延期することを望んでいます。
Google 自体が、コードを延期するソリューションを提案しています。
<script type="text/javascript">
function downloadJSAtOnload()
{
var element = document.createElement("script");
element.src = "deferredfunctions.js";
document.body.appendChild(element);
}
if (window.addEventListener) window.addEventListener("load", downloadJSAtOnload, false);
else if (window.attachEvent) window.attachEvent("onload", downloadJSAtOnload);
else window.onload = downloadJSAtOnload;
</script>
もちろん、これは良い解決策ですが、実際の状況とはかけ離れています (多くのスクリプトを含める、実行するコードなど...)。
例からのストラテジー:
<html>
<head>
</head>
<body>
<script type='text/javascript' src='...'></script>
<script type='text/javascript' src='...'></script>
<script type='text/javascript' src='...'></script>
<script type='text/javascript'><!--
// some code
$(document).ready(function(){
// code to execute when the page is ready
});
--></script>
</body>
</html>
問題は、上記の例に Google の提案をどのように適用するかということです。