同じ名前のウィンドウを(もしあれば)閉じて、常に新しく開く。
例えば、
set win=open("about:blank","hoge","resizable=no")
win.close
set win=open("about:blank","hoge","resizable=no")
は、うまく行きません。
closeが非同期なので、遅延して、時間軸上で、
set win=open("about:blank","hoge","resizable=no")
set win=open("about:blank","hoge","resizable=no")
win.close
のように動いて失敗します。
set win=open("about:blank","hoge","resizable=no")
win.close
do while not win.closed
' wscript.sleep 100 ' WSHならsleepがありますが、HTMLにはないので。
loop
set win=open("about:blank","hoge","resizable=no")
のように待ち合わせれば回避できますが、スピンループなので避けましょう。
set win=open("about:blank","hoge","resizable=no")
win.name=""
win.close
set win=open("about:blank","hoge","resizable=no")
あるいは、さらに、
set win=open("about:blank","hoge","resizable=no")
win.name=""
win.close
set win=open("about:blank","_blank","resizable=no")
win.name="hoge"
とすれば、非同期に耐えられます。
« window.open()やwindow.close()は非同期です。 | トップページ | 名前でもってwindowオブジェクトを捕捉する。 »