Chromeを使っていると、ポップアップを禁止にしていても、ポップアップが開いてしまう事がある。何か抜け穴的な方法があるだろうと思っていた。
どこかのサイトを開いた途端に、JavaScriptを使って開くポップアップはブロックされるけど、同じJavaScriptを使ってマウスクリックのイベント(mouseDown + mouseUpの両方を拾うなど)から開くなら、ブラウザのポップアップブロックをすり抜けられるようだ。
機能拡張を探してみたら、あった。JavascriptポップアップをブロックできるChrome拡張機能Better Pop Up BlockerがChromeストアから無料でダウンロードできる。
機能拡張を入れる前に、配布元のBetter Pop Up Blockerで、テスト用に用意された「Click me. I’m an image」と書かれた画像をクリックすると、ポップアップウィンドウが開いてしまう。開かれるのは、Google、Yahoo!、Bingなので、心配は要らない。もちろん、インストール後はしっかりとブロックしてくれる。
こちらの意に反して、ウィンドウが勝手に開かれたりしないように入れておく。
メインで使っているSafariは、こういう場合もブロックされていると思ったけど、それは僕がSafari機能拡張のJavaScript Blockerを入れているからだった。これはポップアップじゃなくて、JavaScriptをブロックしてくれる。
同じ機能を持ったSafari用の機能拡張も公開されているから、JavaScript Blockerを使っていない人はBetter Pop Up Blocker for Safariを。
参考
Javascriptポップアップも確実にブロックできるChrome拡張機能「Better Pop Up Blocker」 : ライフハッカー
ポップアップブロックされる基準 | Takazudo Clipping*