使用iframe内的脚本标记无限加载

Way*_*yne 3 javascript iframe

这是代码,坚持过去7年来从未有过的简单问题:

<html>
<body>
    <iframe></iframe>
    <script>
        window.frames[0].document.write('<scr' + 'ipt type="text/javascript" src="//code.jquery.com/jquery-3.0.0.min.js"><\/scr' + 'ipt>');
    </script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

问题是浏览器的旋转轮继续循环.

网络控制台显示所有已加载

如果我从DOM中删除iframe,或添加/更改@src属性 - 加载停止.

Jos*_*son 5

我相信第一个答案是更好的方法,但我会提供与您的代码几乎完全相同的第二个答案,但展示了如何调用document.close()也可以解决您的问题.

问题是你已经开始<head>在iFrame中写入文档的元素,但还没有完成(这就是页面继续加载的原因).调用document.close()您已完成写入文档的信号.

<html>
  <body>
    <iframe></iframe>
    <script>
      var doc = window.frames[0].document
      doc.write('<scr' + 'ipt type="text/javascript" src="//code.jquery.com/jquery-3.0.0.min.js"><\/scr' + 'ipt>');
      doc.close();
    </script>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)