在我正在开发的 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);
}
});
她的电子文档在一个新的单词实例中打开,并且在打开文档后窗口仍然打开..但是当在新的 Ms office 实例中打开文件时,窗口应该关闭。Url 是服务器上指向文档的位置。