好吧,这是一个棘手的问题,因为它涉及很多变量:
- 一个 webdav 服务器。我使用了 webdav .net 服务器:http://www.webdavsystem.com/server http://www.webdavsystem.com/server
- 浏览器:chrome 28.0.1500.95 m、firefox 23、IE 9
- NPAPI 浏览器的 Office 授权插件。我有 MS Office 2010 SP2 14.0.7015.1000(32 位)。插件 dll 的版本为:
C:\ Program Files(x86)\ Microsoft Office \ Office14 \ NPAUTHZ.DLL - 14.0.4730.1010,C:\ Program Files(x86)\ Microsoft Office \ Office14 \ NPSPWRAP.DLL:14.0.4761.1000
使用 IT Hit 的软件,我创建了一个简单的 C# 项目,其中包含一个显示文件系统中的文件的 webdav 服务器。您可以在这里下载该项目:https://dl.dropboxusercontent.com/u/35370420/TestPlugin.zip https://dl.dropboxusercontent.com/u/35370420/TestPlugin.zip。通过 webdav 界面提供的文件存储在 App_Data\WebDav\Storage 下。
当我尝试使用 JavaScript ajax 浏览器编辑文档时(http://www.webdavsystem.com/ajaxfilebrowser http://www.webdavsystem.com/ajaxfilebrowser),某些文件的编辑文档菜单失败。您需要在VS2010中打开TestPlugin项目,运行它,然后单击“使用Ajax文件浏览器浏览”。我知道他们的 JavaScript 客户端使用 Chrome 和 FireFox 中的 ms office 插件。
这是我的笔记:
第一个 url 的长度为 110 个字符:
http://localhost:9658/01234567890123456789012345678901234567890123456789012345678901234567890123456789012.docx
所以,我的问题是:为什么 Chrome 中的行为如此不一致?最后我不太确定这些模式是什么。是不是ms插件有问题?我想是的,但我不是 100% 确定。
该项目包含 webdav 界面中显示的其他文件,您可以尝试看看它们是否有效。
Update:
有趣的是,FF 22 的行为与 Chrome 相同,然后我升级到版本 23,现在工作正常,可以打开所有文件。
好的,感谢斯图尔特的解释这个问题 https://code.google.com/p/chromium/issues/detail?id=269183,事情开始变得更有意义了。基本上,我认为问题在于 Microsoft 插件在处理从 JavaScript 传递的字符串时的实现方式。斯图尔特发布一个问题 https://stackoverflow.com/questions/10940692/javascript-and-scriptable-npapi-plugin-string-data-on-google-chrome这说明了问题所在。插件代码期望字符串以 null 结尾,但实际上不能保证这一点。
我在真实的应用程序中进行了测试,并将空字符添加到 url,即我通过了url + '\0'
,现在这该死的东西可以在 Chrome 中运行了。
问题仍然是,微软会修复他们的插件吗?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)