SharePoint;JavaScript-;用资源管理器打开”;问题
SharePoint & JavaScript - The "Open with Explorer" issue
这是一个JavaScript/SharePoint问题。我在SharePoint StackExchange社区也有类似的问题,但我已经几个月没有收到任何消息了。此特定问题与SharePoint 2010有关。
对于那些不知道的人来说,SharePoint中有一个标准功能,允许用户使用Windows资源管理器打开文档库,当你想上传大量文档或四处移动文件/文件夹时,这非常方便。
当用户单击名为"使用资源管理器打开"的按钮时,大多数时候,文件夹会在Windows中打开。常见的答案,如"尝试重新启动WebClient服务"将不起作用,一旦用户没有权限在他们的工作电脑中做任何事情。
在研究了SharePoint JavaScript文件后,我发现了该功能的工作原理:
点击"用浏览器打开"按钮后,会调用一些函数,但这里是"神奇"应该发生的地方:
function NavigateHttpFolderCore() {
httpFolderDiv = document.createElement("DIV");
...
document.body.appendChild(httpFolderDiv);
httpFolderDiv.onreadystatechange = NavigateHttpFolderCore;
httpFolderDiv.addBehavior("#default#httpFolder");
d = httpFolderDiv.navigateFrame("https://sharepointsite.com/sites/site1/docLib", "_blank");
if(d == "OK"){
...
}
...
}
来自上方:
addBehavior-IE 11、Chrome和Firefox不支持,只有IE 10及更旧版本。如果使用IE 11meta http equiv="X-UA-Compatible"content="IE=8">会处理它。
#默认#httpFolder-一种行为(?),现在显然不再使用(过时)
navigateFrame-如果成功,则返回字符串"OK",这意味着"使用资源管理器打开"确实会在Windows资源管理器中打开,或者返回字符串"FAILED",并且"您的客户端不支持使用Windows资源管理器打开此列表"将在我的屏幕中弹出。
我主要担心的是,为什么navigateFrame有时返回"OK",而其他时候返回"FAILED"?
有人知道navigateFrame内部发生了什么吗?或者我可以检查一下吗?有什么想法吗?
感谢
在我的案例中,问题出在IE中,由于CORS限制,它阻止了navigationFrame()调用。我处理了SharePoint 2013和提供商托管的加载项:我试图从另一个域PHAI域的PHAI web应用程序中用JavaScript打开WebDAV文件夹(URL包含SharePoint主机域)。如果您在IE(包括10版)中遇到此问题,并且尝试在与SharePoint不同的域中运行JavaScript代码,请尝试将您的网站添加到"受信任的网站",并将"跨域访问数据源"设置为"禁用"或"提示"。
摘自MSDN:
行为受跨框架安全规则的约束,其中文档不能引用另一台服务器或另一个域上的行为。在这种情况下,addBehavior方法返回E_ACCESSDENIED。有关更多信息,请参阅DHTML行为简介文章中的安全部分。
- 资源管理器9上的html5视频缓存
- Cordova创建的文件不会显示在Windows资源管理器中,除非重新启动设备
- 如何在电话间隙中打开系统文件资源管理器
- 如何获取用户访问令牌,与图形 API 资源管理器中使用的令牌相同
- 我可以从 Web 应用程序打开 Windows 资源管理器窗口吗?
- 使用 php 下载 PDF,不在资源管理器和 safari 中工作
- 在远程服务器上时不显示强环路环回资源管理器
- 使用javascript/html打开资源管理器
- 如何使事件onchange的HTML输入对象不提示文件资源管理器
- 文件资源管理器,存储路径
- angularjs nggrid windows资源管理器显示细行,但在firefox中可以正常工作
- 谷歌图表-设置资源管理器边界/间隔
- 在Java代码中使用Javascript函数关闭windows资源管理器弹出窗口
- 创建Windows 8资源管理器模拟-鼠标选择问题
- 如何在rad文件资源管理器中搜索当前文件夹,包括子文件夹
- 所选的链接类在网络资源管理器上不能正确显示
- SharePoint;JavaScript-;用资源管理器打开”;问题
- 为什么这个JavaScript只在IE资源管理器中工作
- 是否可以使用 JavaScript 对 HTA 进行 Windows 资源管理器搜索
- Angular 的错误消息“无法实例化模块”仅在资源管理器中