問題
windows8.1でIEの動作検証をしているときに以下の現象が発生した。
開かれた直後にウインドウを閉じる動作を行うページを用意し、そのページへのリンクを踏んだとき、1回目は画面遷移自体が行われなかったかのように見える。(画面表示は更新されないが、一応ページアクセスは行われている)
2回目で画面を閉じることに成功する。
この現象を確認したのはWebBrowserコントロールのNavigateメソッドで開いたIE。ちなみにIE10以下ではこの現象は確認できなかった。ホント、IE対応は地獄だぜ! フゥハハハーハァー(AA略
現象発生コード
from.html
location.href = "close.html";
close.html
$(function(){ (window.open("", "_top").opener = top).close(); });
対策後コード
setTimeoutでちょっと待ってから閉じると、ちゃんと閉じられるようになった。
from.html
location.href = "close.html";
close.html
$(function(){ $("body").text(""); // 画面が閉じられるまでの間、真っ白な表示をする setTimeout(function(){ (window.open("", "_top").opener = top).close(); }, 100); });