2

おそらくご存じのとおり、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 の提案をどのように適用するかということです。

4

1 に答える 1

-1

Google の例は、複数のスクリプト要素をページに追加した場合、複数のスクリプトで機能しdownloadJSatOnload、通常は に配置するコードを呼び出します$(document).ready(function () { ... });。そのコードは、明示的に呼び出されるか、最後にダウンロードされたファイルである可能性があります。

于 2013-04-08T05:11:21.120 に答える