やったこと

webサービスを作るときに考えたことを垂れ流します

タイマーを使ってwindow.openするとポップアップブロックされてしまう

setTimeoutを使って、一定時間経過後に新規ウィンドウを開く処理(window.open)を書いたら、ブラウザのポップアップブロックが働いて開くことができなかった。


どうやらセキュリティ上の観点から、ユーザ操作によらないタイミングでwindow.openしようとすると、ブロックするブラウザが増えてきている様子。


下記のようなタイミングではブロックされてしまうみたい。
・ページロード時
・非同期通信完了時
・タイマー満了時

仕方が無いからクリックによってページ遷移するようにした。

hoge.onclick = function(){
  window.open(HOGE_URL, "test");
};

これならいけた。。