javascript - Hvordan viser man et vindue hurtigst muligt?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har 3 hovedvinduer i min Xulrunner-app, der bliver adgang til meget ofte. Programmet kører på et meget langsomt system, så før vinduet vises, ser jeg en helt sort boks, og så vises vinduet og fylder det sorte område.


Da jeg er i et indlejret system, og 'minimere' animationen ikke vises, har jeg minimeret vinduet i stedet for at lukke, men det vises stadig ikke så hurtigt, som jeg ønskede.


Er der en måde at lade et vindue indlæse i en buffer, så det vises hurtigere? Eller hvordan kan jeg vise dette vindue hurtigst muligt?


- opdatering


Forresten har vinduerne ikke noget tungt. Den ene er et popup-vindue med en 'Loading' -mærke, og jeg tager stadig meget tid (ca. et sekund) til at dukke op:


<?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>


Jeg åbner den med:


openDialog("chrome://myapp/content/loading.xul", 'Loading', 'chrome, popup, centerscreen');

Bedste reference


kan du gøre oprindelig kode?
createHiddenWindow () [4]


Alternativt kan du legetøj med at skabe et lille gennemsigtigt vindue med krom gemt [5]


Det er ikke komplet, men for startere:


<?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>

Andre referencer 1


kan du simpelthen bytte alle elementer fra hovedvinduet og erstatte dem med elementerne i det vindue du vil vise? Eller, nok bedre endnu, gøre noget lignende med et dæk? [6]

Andre referencer 2


Jeg er ikke sikker på, at dette er hvad du vil, men det er muligt at midlertidigt skjule et vindue, så når du vil have det, kan du bare vise det igen. Se nsMsgComposeService :: ShowCachedComposeWindow for den generelle ide. [7]