【问题标题】:Javascript window.open docx file / how to close window?Javascript window.open docx 文件/如何关闭窗口?
【发布时间】:2016-08-14 09:07:48
【问题描述】:

我尝试通过 html 链接在 Word 中打开 doc/docx 文件,但我想避免打开新的浏览器窗口。

第一次尝试:

mywin=window.open("filename.docx","viewer"); 

工作正常,但会打开一个新的“查看器”窗口。

第二次尝试:

mywin=window.open("filename.docx","_self"); 

什么都不做(在 Safari Mac 中测试)

第三次尝试:

mywin=window.open("filename.docx","viewer"); 
mywin.close();

产生错误(在完全加载之前关闭窗口)

第四次尝试:

        mywin=window.open("filename.docx","viewer"); 
        mywin.onload = function () {
            alert("All done!");
        }

我的提醒从未显示

预期结果:

  • Word 已启动(有效)
  • 在 Word 中打开的文件(适用于 target=viewer 或 _blank)
  • 没有子浏览器窗口

对我有什么想法吗?

测试链接(回声永远不会出现):

https://jsfiddle.net/1ddqhu2d/

非常感谢!

菲尔

【问题讨论】:

  • window.location.href = 'filename.docx'; 也许..

标签: javascript html docx


【解决方案1】:

这里应该有什么结果。因为您无法从浏览器打开它,就像您需要在本地计算机上拥有命令和保存文件一样。当您谈论开始保存文件时,第三个可能是解决方案,您可以在页面加载后关闭新窗口window.document.onload = function(){ window.close() };

或者只是:

window.location = 'document.docx';

直接从浏览器打开word文件:

function openWord(spath) {
        var pause = 0;
        var wdDialogFileOpen = 80;
        var wdApp = new ActiveXObject("Word.Application");
        wdApp.Visible = 'True';
        var wdDoc = wdApp.Documents;
        wdDoc.Open(spath);
}

以我给你的为例,你应该这样做:

var mywindow = window.open('path.docx','viewer');
mywindow.addEventListener('load',function(){alert('hello');},false);

【讨论】:

  • 谢谢!我试过了,但出现以下错误:加载资源失败:帧加载中断,Word 未启动。
  • 我已经更新了你关于下一个代码的问题,你可以用什么来打开单词。但是,如果文件不是 text/plain、text/html 或某些浏览器插件支持的文件,则确切的窗口位置只会下载文件。然后文件将自动开始下载。
  • 不可能,因为正在打开的新窗口可能是不同的域。因此,无法跟踪新窗口是否已从您的页面加载。
  • 如果您可以访问正在打开的新窗口 -- 您可以使用developer.mozilla.org/en-US/docs/Web/API/Window/postMessage
猜你喜欢
  • 2019-11-23
  • 2011-01-17
  • 1970-01-01
  • 2018-12-26
  • 1970-01-01
  • 2018-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多