読者です 読者をやめる 読者になる 読者になる

別ウィンドウするとポップアップブロックになる件

chromeで別ウィンドを開くとポップアップブロックして、困ったと調べたら、
クリックイベントした後(非同期処理)に別ウィンドウで開くブロックされるようだ。

ユーザーの動作と関係ないところで、処理した後に別ウィンドウで開くと違反なんですね。

どうしかと困ったので、別ウィンドウ開いた先で非同期処理(Ajax)させて処理する方法に変更させました。

Djangoを使ったので、別ウィンドウでjavascriptで親ウィンドウのcsrf_tokenを取得しましょう。

多分下記のような方法で取得できたような。

var csrf_token=window.opener.document.parentForm.csrfmiddlewaretoken.value;

参考になったサイト
http://webtech-walker.com/archive/2010/06/14111405.htmlクリックイベントの中で非同期処理したあとに別ウィンドウで開くときにポップアップブロックにひっかからない方法 - Webtech Walker

Web ブラウザのポップアップブロック問題