2016-04-21 115 views
1

我尝试从html链接中打开Word中的doc/docx文件,但我想避免打开一个新的浏览器窗口。Javascript window.open docx文件/如何关闭窗口?

第一次尝试:

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

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

第二次尝试:

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

什么也不做(在Safari浏览器的Mac测试)

3ND尝试:

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/

非常感谢!

菲尔

+0

'window.location.href ='filename.docx';'也许.. – techfoobar

回答

1

什么结果应该在这里。因为你不能从浏览器打开它,就像那样你需要在本地计算机上有命令并保存文件。当你在谈论开始保存文件,然后3ND可能的解决方案和页面被载入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); 
+0

谢谢!我试过,但我得到了以下错误:无法加载资源:帧加载中断,Word未启动。 –

+0

我已更新您的下一个代码的问题您可以使用什么操作词。但是,如果文件不是文本/纯文本,文本/ html或某些浏览器插件支持的文件,则窗口位置只会下载文件。然后文件将自动开始下载。 – Kamil

+1

我试过了,但“你好”从来没有出现:https://jsfiddle.net/1ddqhu2d/ –