私が取り組んでいる Web アプリケーションには、オフィス ドキュメントの取得を担当する長期実行プロセスがいくつかあります。基本的に window.open でポップアップを開き、サーバーをポーリングしてプロセスのステータスを報告し、ドキュメントが利用可能になるのを待ち、準備ができたら生成されたドキュメントにリダイレクトします (window.location = THE_URL_OF_THE_FILE)。
リダイレクトが発生すると、ユーザーの構成 (Microsoft ナレッジ ベースを参照) に応じて、MS Office ドキュメントが Internet Explorer で直接開いたり埋め込まれたり、オフィス スーツの新しいインスタンスでファイルが開いたりする場合があります。
後者の場合、ドキュメントは Excel で正常に開きますが、ドキュメントを開く原因となったウィンドウは永久にそこに残ります。
Excel がファイルを正常にロードするとすぐにそのウィンドウを強制的に閉じる方法はありますか?
これは、IE と Windows の統合がどのように機能するかに関係していると思います...
編集
$.ajax({
async: false,
type: 'Post',
dataType: 'json',
url: '/Controller/Action/' + docId,
data: $('form').serialize(),
success: function (url) {
window.open(url, 'ShowFile', 'top=25,left=50,width=680,height=400,help=1,status=1,scrollbars=1,toolbars=1,menubar=1,resizable=1',false);
}
});
彼女の電子文書は新しい単語インスタンスで開かれ、文書を開いた後もウィンドウは開いたままになります..しかし、ファイルが新しいオフィスインスタンスで開かれると、ウィンドウは閉じるはずです。Url は、ドキュメントを指すサーバー上の場所です。