HTTPサーバーとWeb開発

86. ポップアップを表示するには?

コード検索などのためにPopupウィンドウを表示させるようにしたが、
ブラウザによってはPopupウィンドウが表示されない場合がある。
これはブラウザのリリースによってはPopupの表示が 抑制(ブロック) されて
しまっているからである。
正しくPopupを表示するためにはブラウザの設定を変更する必要がある。
ここでは、ブラウザのPopupブロックの解除の方法について説明する。

WindowsXP SP2でインストールされるInternet Explorer(IE) 6 以降の
IE のバージョンには「Popupブロック」という機能が搭載されている。
Popupとはブラウザ上で開く別ウィンドウのことで、多くの場合これはJavascriptの
ウィンドウを開く処理「Window.open」がページ内に組み込まれていることで表示される。

PopupはWebサイト上のリンクやボタンをクリックすると表示されるものが一般的であるが、中には
Webページを表示した際にユーザーの意図とは関係なしに、自動的に開かれるものもある。

これらの多くの場合は迷惑な広告であったり、悪質なものではPopupを無限に開くことで
PCをクラッシュさせてしまうページもある。
こういったPopupからPCを守るため、遮断して自動的に表示できないようにする機能として
「Popupブロック」が装備されている。

しかしながら、Webアプリケーションを作成する際、Popupウィンドウを開く処理を
組み込むことが多々ある。
例えば、マスターファイルから商品コードを検索する画面を別ウィンドウで開く
場合や、HTMLで作成したログイン認証画面を開く場合などに使用される。
これらのPopupウィンドウを表示するには、Popupブロックの設定を無効にしなければならない。

Internet Explorer(IE) 6 以降のIE のバージョン ではPopupブロックが
デフォルトで 有効 に設定されているため、Popupを開く際、下図のように
Popupウィンドウを遮断したことを知らせるメッセージが情報バーに表示される。
Popupブロックを解除するには、この情報バーから手動で一時的に解除しなければならない。

情報バー:ポップアップウィンドウを遮断したことを知らせるメッセージ

Internet Explorer の設定で、Popupブロック機能を無効にしておくことができる。
Popupブロック機能は下記の手順で無効に設定できる。(IE6〜IE9共通)

【Popupブロック機能の無効化】
  1. Internet Explorerを起動。

  2. [ツール]メニュー → [ポップアップブロック] - [ポップアップブロックを無効にする]
    を選択する。
    (すでにPopupブロックが無効に設定されている場合は、
    この項目が表示されないので、そのままメニューを戻す。)

また、URLを指定してやることで、特定の Web サイトで開かれるPopupブロックを明示的に
無効化することもできる。(IE6〜IE9共通)

【URLを指定したPopupブロック機能の無効化】
  1. Internet Explorerを起動。

  2. [ツール] メニュー → [ポップアップブロック] → [ポップアップブロックの設定]を
    選択する。

  3. [許可する Web サイトのアドレス] 欄に、Popupを表示する Web サイトの
    アドレス (URL)を入力し、[追加] ボタンをクリックする。

  4. [許可されたサイト] に URL が追加されたことを確認し、[閉じる] ボタンをクリックして
    [ポップアップ ブロックの設定] 画面を閉じる。