2016-04-21 25 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/ –