在 SharePoint 网站中编辑办公室按钮

Edit in office button in SharePoint site

在我正在处理的显示文件的 SharePoint 项目中,我们有一个按钮可以打开用户在办公室看到的 SPFile
目前,该按钮仅适用于 IE。我必须让它也可用于 chrome 和 firefox(目前它只是保存文件而不是在这些浏览器中打开它)。
我知道这是可能的,因为当您从 SharePoint 主页打开文件时,它会在办公室打开。
我已经搜索了解决方案并找到了一个使用 Application URL 协议的词 here 但不幸的是这对我的情况不起作用,因为我需要知道用户何时关闭文档以刷新年龄显示更改:(

这里是我们使用的代码:(注意这个link是通过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\sp.init.js 中的不同 - 看起来它们来自 SharePoint-2010因为sp.init.js的版本是14.0.4762)

我能够在 chrome 中使用它。 我所做的是我使用了 \_layouts\CORE.js\_layouts\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 做这件事(看起来 sharepoint 不支持它?因为它不能从 sharepoint 打开)。