2013-07-19 128 views
0

其實我需要知道是否安裝了2013版MS Office。 引橋如何使用IE瀏覽器的javascript檢測MS Office的安裝版本?

var oApplication=new ActiveXObject("Word.Application"); 

不爲我從網站工作(但是,當從本地磁盤上運行它,它的工作原理)。

+1

我希望你不能這麼做 - 作爲一個用戶,我不希望我訪問的網站能夠檢測到我已安裝的軟件。這種情況在像公司內部網這樣的受控環境中是合理可以接受的,但是在這樣的環境中,你大概已經知道安裝了哪個版本的Office ... – nnnnnn

+1

我需要打開MS Office文檔以便從我的網站進行編輯在互聯網上。但是,這樣做的舊機制在MS Office 2013中被破解了。所以我必須知道使用哪種方式 - 舊版Office 2010或新版Office 2013。我不在乎是否有人跟蹤我在做什麼和我有什麼節目。因爲沒有人需要我。 :) –

回答

1

歐凱,所以這裏是答案(的SharePoint與新老Office客戶端正常工作沒有版本檢測,所以必須有一個解決方案)

try { 
    var g = new ActiveXObject("SharePoint.OpenDocuments.5"); 
    alert('Office 2013 installed'); 
    window.open('ms-word:ofe|u|http://server.com/12.docx'); 
} 
catch (h) { 
    alert('Office 2010/older installed'); 
    var g = new ActiveXObject("SharePoint.OpenDocuments"); 
    g.EditDocument('http://server.com/12.docx'); 
} 

唯一剩下的問題是「受保護的文件開啓視圖「,而SharePoint則以常規視圖打開它們。

+0

謝謝,這有助於我; 我調試Office365:
MS-PowerPoint中:OFE | U | https://開頭.... =>簡報
MS-字:OFE | U | https://開頭=>字
MS-Excel中:OFE | u | https:// => Excel – Sean

1

您不能在IE中對Internet區域中未標記爲「安全的腳本」的ActiveX控件實例化(而Office應用程序不是SFS)。

您在Office 2013之前使用的是什麼「舊機制」,您計劃使用哪種「新機制」?

(請記住,SharePoint可以正常處理舊版和未新版Office檢測的Office客戶端)。

+0

我已經在這裏回答了你自己的問題。 –

2

我調試的Office365:
MS-PowerPoint中:OFE | U | https://開頭.... =>簡報
MS-字:OFE | U | https://開頭=>字
毫秒-excel:ofe | u | https:// => Excel