2016-04-24 32 views
0

在我正在研究的S​​harePoint項目中,顯示文件時,我們有一個按鈕來打開用戶在辦公室看到的SPFile
目前,該按鈕僅適用於IE。我必須使它可用於Chrome和Firefox(目前它只是保存文件,而不是在這些瀏覽器中打開它)。
我知道這是可能的,因爲當您從SharePoint主頁打開文件時,它在辦公室中打開。
我已經搜索瞭解決方案,發現一個使用應用程序URL協議的詞here,但不幸的是,這並不適用於我的情況,因爲我需要知道用戶何時關閉文檔以刷新顯示更改的年齡:(編輯SharePoint網站中的辦公室按鈕

這裏是我們使用的代碼(注意,該鏈接是通過javascript

<a id="OfficeUrl" onclick="g_varSkipRefreshOnFocus = 0;fromOffice = true;if(isIE){window.onfocus = RefreshOnFocus;browseris.ie=true;}DispEx(this, event, 'TRUE', 'FALSE', 'FALSE', 'SharePoint.OpenDocuments.3', '1', 'SharePoint.OpenDocuments', '', '', $('[id$=CheckedOutUserHidden]').val(), $('[id$=UserIdHidden]').val(), '0', '0', '0x7fffffffffffffff', '', '');if(!isIE){window.onfocus = RefreshOnFocus;}g_varSkipRefreshOnFocus = 0;return false;" href="" style="display: none;"></a> 

[編輯]叫我忘了告訴你,我們引用SP.CORE.jsSP.INIT.js(但是他們似乎不同於那些位於\layouts\15\sp.init.js - 廁所因爲sp.init.js的版本是14.0.4762

回答

0

我能夠使它在鉻中工作。 我所做的是我用\_layouts\15\CORE.js\_layouts\15\INIT.js和我包圍了一個標籤與

<div ctxname="ctx1" app="ms-word"> 
    <a id="OfficeUrl" onclick="g_varSkipRefreshOnFocus = 0;fromOffice = true;if(isIE){window.onfocus = RefreshOnFocus;browseris.ie=true;}DispEx(this, event, 'TRUE', 'FALSE', 'FALSE', 'SharePoint.OpenDocuments.3', '1', 'SharePoint.OpenDocuments', '', '', $('[id$=CheckedOutUserHidden]').val(), $('[id$=UserIdHidden]').val(), '0', '0', '0x7fffffffffffffff', '', '');if(!isIE){window.onfocus = RefreshOnFocus;}g_varSkipRefreshOnFocus = 0;return false;" href="" style="display: none;"></a> 
</div> 

希望它可以幫助別人

我現在需要知道如何做到這一點的Firefox(貌似共享點不不支持它,因爲它不能從共享點打開)。

相關問題