Hebikuzure's Tech Memo

2011年6月9日

IE9 のウィンドウ内に Office ドキュメントを表示する

Filed under: Internet Explorer — hebikuzure @ 4:27 PM

IE9 でダウンロードの際に通知バーではなくダイアログが表示される場合がある」の記事中で

現在のバージョンでは既定で無効なのですが、Web サイト上の Office の文書を Internet Explorer のウィンドウ内に表示される事ができる

と書いたので、IE9 でもこの動作ができるのか確認してみました。この動作については以下のサポート技術情報に解説されています。

簡単にまとめると、Office のドキュメントを IE から開く際、IE とは別のウィンドウで Office アプリケーションを起動して開くか、IE のウィンドウ内に開くかの制御はレジストリの HKEY_LOCAL_MACHINE\SOFTWARE\Classes キー内の各ドキュメント種類ごとのサブ キーにある BrowserFlags 値で行われています。

そこで Interent Explorer 9 がインストールされているクライアントに上記技術情報 982995 で示されているレジストリ値を設定して、その上でテスト ページから Office ドキュメントのダウンロードを行ってみました。

  1. test.doc Content-Disposition:attachment なし” をクリックしてダウンロードを開始
  2. IE9 でダウンロードの際に通知バーではなくダイアログが表示される場合がある」に書いたようにモーダルなダウンロード ダイアログが表示される
    image
  3. [開く] をクリックすると、ダウンロード中の経過が通知バーで表示された後、以下のように IE のウィンドウ内で Word 文書が開く (クリックすると拡大表示)
    image

このように IE9 + Office 2010 の環境でも Office ドキュメントを IE のウィンドウ内に表示する事ができました。

ただしこのようにレジストリ値を構成しても IE のウィンドウ内で開く事ができるのは、content-disposition: attachment ヘッダーがついていない場合のみです。content-disposition: attachment ヘッダーは云わば「ダウンロードを強制する」指示なので、通知バーで [開く] を選択した場合でもインターネット一時ファイル フォルダへのダウンロードが優先され、その後一時ファイルにダウンロードされたドキュメントが (普通のローカルのファイルと同様に) 開かれる動作となります。そのため content-disposition: attachment ヘッダーがついている場合は、上記のレジストリ設定に関わらず IE とは別に Office アプリケーションのウィンドウが開き、そのウィンドウでドキュメントが表示されます (Office 2010 の場合は [保護されたビュー] で開きます)。

WordPress.com で無料サイトやブログを作成.

%d人のブロガーが「いいね」をつけました。