在显示警报之前加载和呈现窗口的内容

时间:2017-10-17 05:22:54

标签: javascript electron

我是Electron的新手(就像英语:) 我在加载和渲染主窗口的内容后尝试输出一个简单的alert

的index.html:

<html>
  <head>
    <meta charset="UTF-8">
    <link rel="stylesheet" href="styles.css">
    <title>Test</title>
  </head>
  <body>
    ...
    Here's some content and images. A lot of them.
    ...
    <script src="alert.js"></script>
  </body>  
</html>

alert.js:

//Simple alert with some system information
alert("!@#$%^&*");

但是在绘制窗口内容之前会出现警报。 Deferasync无效(即<script defer async src="alert.js"></script>)。我究竟做错了什么?在我看来,这是一个非常简单和愚蠢的问题,但我找不到答案。

UPD: 我现在找到的唯一方法是使用setTimeout

setTimeout(function(){
     alert("!@#$%^&*");
}, 300);

1 个答案:

答案 0 :(得分:2)

由于您的代码位于页面底部,您可以使用IIFE(立即调用函数表达式):

(function() {
alert("!@#$%^&*");
}());

您还可以使用setTimeout:

(function() {
    setTimeout(function () { 
        alert("!@#$%^&*"); 
    } , 2000)
}());