新的 window onload 永远不会在 javascript 内触发

new window onload never trigger in javascript

我有一个这样的 html 页面:

<!DOCTYPE html>
<html>
<body>

   <p>Click the button to open a new browser window.</p>

   <button onclick="myFunction()">Try it</button>

 <script>
  function myFunction() {
    var my= window.open();
    my.document.write('<body>salam</body>');
   }
  </script>

 </body>
 </html>

当我点击按钮时,新页面打开但加载未完成,代码有什么问题?我想在 my.onload 触发但从未完成时做一些事情。

您有一个打开的文档。选项卡上的加载指示器在打开时将保持活动状态。写完后只需 close() 文档:

function myFunction() {
  var my= window.open();
  my.document.write('<body>salam</body>');
  my.document.close();
}

至于你的 onload 不工作,你没有显示已定义。如果您的实际代码中有一个,它不会有 运行,因为您的文档仍然是 "loading"。否则,如果你没有,你显然需要添加它:

function myFunction() {
  var my= window.open();
  my.document.write(`<body onload="console.log('loaded')">salam</body>`);
  my.document.close();
}