window.blur()を使用して、ウィンドウにフォーカスせずにウィンドウを開こうとしています(または、フォーカスとフォーカス解除が非常に高速であるため、フォーカスされていないように見えます)。
しかし、それはうまくいかないようです、代替手段はありますか?
私の試み:
blurTest.xul:
<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<window width="400" height="300"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script>
<![CDATA[
function onkeypress(event) {
// for this sample don't matter which key is pressed
open('second.xul','SecondWindow','chrome, width=400, height=300');
}
addEventListener("keypress", onkeypress, false);
]]>
</script>
<label value="MAIN WINDOW"/>
</window>
second.xul:
<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<window width="400" height="300"
onload="blur();"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<label value="SECOND" />
</window>
オブス。setTimeout(window.focus, 1) を使用して、2 番目のウィンドウを開いた後にフォーカスを自分のウィンドウに戻すことを考えることができます。しかし、フォーカスを処理するには 2 番目のウィンドウが必要です。完璧なシナリオは、2 番目のウィンドウがフォーカスを取得できなかった場合で、フォーカスを取得せずにウィンドウを開いて復元するだけです。