gpt4 book ai didi

google-chrome - 页面刷新后 FFWinPlugin 应用程序/sharepoint-x 失败

转载 作者:行者123 更新时间:2023-12-02 14:33:43 27 4
gpt4 key购买 nike

我正在尝试使用 FFWinPlugin用于从 google chrome 或 firefox 访问 webdav 内容的插件。 webdav 服务器使用 ITHit webdavsystem。

问题是,虽然它最初可以工作,但刷新网页后,对 EditDocument 的所有进一步调用都会失败且没有错误 - 根本没有发出 webdav 请求。这会影响从任何网页对任何 webdav 服务器的所有后续调用。需要重新启动浏览器(或者,对于chrome,可以杀死“Microsoft Office 2013”​​插件任务)才能恢复。

示例代码如下:

<script>
function test() {
var sharepoint = document.getElementById("winFirefoxPlugin");

sharepoint.EditDocument(getLocationRoot() + "/word.docx");
}

function getLocationRoot() {
return location.protocol + '//' + location.hostname + (location.port ? ':' + location.port : '');
}
</script>
<object id="winFirefoxPlugin" type="application/x-sharepoint" width="0" height="0" style="visibility:hidden;"></object>
<button onclick="test()">test</button>

我正在使用 Firefox 版本 20.0.1 和 Chrome 版本 27.0.1453.93m 在 Office 2013 上对此进行测试。

使用OpenDocuments control在 IE 上运行没有问题。

我没有要测试的共享点服务器。任何人都可以确认/否认它有同样的问题吗?

有人遇到过这个问题和/或有解决方案吗?在我看来,这是 Microsoft 插件的问题。

最佳答案

我还没有在 Office 2013 上尝试过,但下面的代码在 Office 2010 中适用于我。你的代码和我的代码之间的唯一区别是插件对象是动态添加的。

getOrCreateContainer: function(containerId)
{
var container = Ext.get(containerId);
if (container)
return container;

container = new Ext.Element(document.createElement('div'));
container.id = containerId;
container.setStyle({ width: '0px', height: '0px', position: 'absolute', overflow: 'hidden', top: '-1000px', left: '-1000px' });

Ext.getBody().appendChild(container);
return container;
},

getOrCreateSharePointPluginContainer: function()
{
var sharePointPluginContainer = this.getOrCreateContainer('_sharePointPluginContainer');
if (!sharePointPluginContainer.first())
{
var domObj = Ext.DomHelper.createDom(
{
tag: 'object',
type: 'application/x-sharepoint',
style: { visibility: 'hidden', width: '0px', height: '0px' }
}
);
sharePointPluginContainer.appendChild(new Ext.Element(domObj));
}

return sharePointPluginContainer;
},


sharePointEditDocument: function (sUrl)
{

try
{
var sho = this.getSharePointOpenDocumentsCtrl();
if (sho)
{
if (!sho.EditDocument(sUrl))
{
//todo: use localized message
alert('Cannot edit file');
return false;
}
}
}
catch (e)
{
return false;
}
},

getSharePointOpenDocumentsCtrl: function ()
{
if (this._sharePointOpenDocumentsControl == null)
{
this._sharePointOpenDocumentsControl = this.getOrCreateSharePointPluginContainer().first().dom;
}
return this._sharePointOpenDocumentsControl;
},

请注意以下事项:

  • 代码使用 ExtJs - 您需要将现有的 ExtJs 代码替换为直接 DOM 调用或 jQuery 调用,具体取决于您使用的库
  • 你可以简化代码,它看起来像这样,因为它有一些代码我拿出来

关于google-chrome - 页面刷新后 FFWinPlugin 应用程序/sharepoint-x 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16730028/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com