我的Xulrunner应用程序中有3个主窗口,可以非常频繁地访问。应用程序在一个非常慢的系统上运行,所以在窗口出现之前,我看到一个完全黑色的盒子,然后出现窗口,填满那个黑色区域。
因为我在嵌入式系统中,并且没有显示“最小化”动画,所以我将窗口设置为最小化而不是关闭,但它仍然没有像我想要的那样快速显示。
有没有办法让窗口加载缓冲区以便更快地出现?或者,如何以最快的方式显示此窗口?
- 更新
顺便说一下,窗户没什么重要的。一个是带有“正在加载”标签的弹出窗口,我仍然需要花费很多时间(大约一秒钟)来显示:<?xml version="1.0" encoding="UTF-8"?>
<!-- Style -->
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<window id="loadingWindow" hidechrome="true"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<vbox pack="center" align="center">
<label id="textLabel">Loading...</label>
</vbox>
</window>
我打开它:
openDialog("chrome://myapp/content/loading.xul", 'Loading', 'chrome, popup, centerscreen');
答案 0 :(得分:3)
或者,您可以玩creating a tiny, transparent window with the chrome hidden
这对于初学者来说并不完整:
<?xml version="1.0"?>
<!--<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>-->
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" width="1px" height="1px" hidechrome="true" style="max-width:1px; max-height:1px; opacity:0">
<description>blar</description>
</window>
答案 1 :(得分:1)
你不能简单地换掉主窗口中的所有元素,并用要显示的窗口元素替换它们吗?或者,可能更好的是,用deck做类似的事情?
答案 2 :(得分:0)
我不确定这是你想要的,但是可以暂时隐藏一个窗口,这样当你想要它时你可以再次显示它。有关一般概念,请参阅nsMsgComposeService::ShowCachedComposeWindow。