保持窗口隐藏,直到初始化完成
keep window hidden until init completes
我正在创建一个具有重要初始化过程的窗口,我想将窗口隐藏起来,直到 init 完成。现在在我的js代码的开头,我在创建窗口后立即隐藏了窗口,然后在init完成后显示它。但是,当应用程序在窗口出现时启动时,这会产生不太令人愉悦的闪光,消失然后重新出现。
有没有办法在初始化运行时保持窗口不可见?
在没有看到您的代码的情况下,我最好的猜测是您需要在页面的 head 部分中使用 CSS 隐藏应用程序窗口。这样,在浏览器呈现页面之前,它就会被隐藏。尝试用Javascript隐藏窗口不会那么好。这是因为脚本在浏览器创建窗口之前无法隐藏窗口。因此,根据条件,用户可能会看到它在启动时闪烁。
下面的代码片段显示了如何使用 CSS 可见性属性执行此操作。或者,您也可以使用 display 属性。
显示,然后运行代码段进行尝试。
setTimeout(function() {
// some long init process here
// make visible on ready
window.spinner.style.display = 'none';
window.app.style.visibility = 'visible';
}, 3000);
#app {
height: 10em;
visibility: hidden;
background-color: white;
}
h3,
h4 {
margin: 0;
padding: 4px;
color: white;
background-color: steelblue;
}
#spinner {
height: 100px;
position: absolute;
}
body {
background-color: lightgray;
}
<h3>Header</h3>
<div id="content">
<img id="spinner" src="https://i.stack.imgur.com/kOnzy.gif">
<div id="app">APPLICATION READY</div>
</div>
<h4>footer</h4>
我同意@jeff关于提供某种进度指标的观点。但是,创建默认情况下在Electron中隐藏的窗口的标准方法是在创建浏览器窗口时使用show
选项:
const myWindow = new BrowserWindow({ show: false });
然后,当加载/处理完成后,您可以使窗口可见:
// this code runs in the renderer process
import { remote } from 'electron';
remote.getCurrentWindow().show();
首先使用 CSS 隐藏它。 显示:无或可见性:隐藏。
然后通过初始化后更改显示或可见性来使用 javascript 显示。
相关文章:
- 使用javascript函数在页面初始化后加载jquery
- 未捕获错误:无法在初始化之前调用方法;
- 如何在剑道网格初始化后设置pageSizes
- React redux初始化功能,无论状态变化如何
- 为什么可以't Protractor在自动初始化的Angular网站上查找Angular
- 尝试初始化()Spine's控制器和故障
- 使用点击和窗口散列在Reveal Modal中重新初始化Zurb均衡器
- 如何在经典钛中正确初始化窗口
- jQuery Slider在jQuery弹出窗口中只初始化一次
- 保持窗口隐藏,直到初始化完成
- 将变量发送到 TinyMCE 4.0,同时在调整浏览器窗口大小时重新初始化
- 打开特定的信息窗口,无需点击,也不上传或初始化在 Google 地图 V3 地点
- 使用 Javascript 初始化标记的信息窗口
- 调用窗口对象初始化(页面中动态包含iframe)
- 初始化窗口上的angular.onload事件
- 在谷歌地图标记上初始化一个引导弹出窗口
- 在AJAX之后重新初始化窗口加载事件上的jQuery
- 窗口大小调整和初始化一起运行
- 什么是“;google.maps.event.addDomListener(窗口,'加载',初始化)&q
- 在窗口中初始化Ajax脚本-当窗口关闭时停止