1

4 つの Iframe を含むページがあり、すべてのページで同じ JavaScript が追加されています。ページが読み込まれると、同じ JavaScript がサーバーから 5 回読み込まれていることがわかりました。そして、javascript が親ページに読み込まれるときにすべての Iframe の読み込みを設定しますが、同じ結果が得られます。なぜですか?

  • 親ページのコード:

    <html>
    
    <head>
    </head>
    
    <body>
        <iframe></iframe>
        <iframe></iframe>
        <iframe></iframe>
        <iframe></iframe>
    </body>
    <script>
        var newScript = document.createElement("script");
        newScript.src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.1/jquery.min.js";
    
        var srcs = ["html1.html", "html2.html", "html3.html", "html4.html"];
        document.getElementsByTagName("HEAD").item(0).appendChild(newScript);
        newScript.onload = newScript.onreadystatechange = function () {
            console.log("jquery.min.js loaded");
            var iframes = document.getElementsByTagName("iframe");
            for (var i = 0; i < iframes.length; i++) {
                var id = i;
                iframes[id].src = srcs[id];
            }
        }
        console.log("init");
    </script>
    
    </html>
    
  • すべての iframe ページのコード:

    <html>
    
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=8">
        <meta http-equiv="Expires" content="0">
        <meta http-equiv="Pragma" content="no-cache">
        <meta http-equiv="Cache-control" content="no-cache">
        <meta http-equiv="Cache" content="no-cache">
        <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    </head>
    
    <body>
        html1
    </body>
    
    </html>
    
  • 画像: DevTool のネットワーク:

    ここに画像の説明を入力

    ここに画像の説明を入力

4

1 に答える 1