非 SharePoint 页面上的资源管理器视图

Posted

技术标签:

【中文标题】非 SharePoint 页面上的资源管理器视图【英文标题】:Explorer view on a non-SharePoint page 【发布时间】:2010-10-24 08:55:25 【问题描述】:

有谁知道是否可以将文档库的资源管理器视图嵌入到托管 SharePoint 网站之外的页面中?我想在完全独立于 SharePoint 的 ASPX 应用程序中显示此功能。我知道可用的 Web 服务,问题是关于嵌入文件夹视图功能,而不是以编程方式与 SharePoint 通信。

【问题讨论】:

【参考方案1】:

我最终解构了原始资源管理器视图并将其提炼为以下内容:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>Shared Documents</TITLE>
<SCRIPT language=javascript src="http://[host]/_layouts/1033/init.js" type=text/javascript></SCRIPT>
<SCRIPT language=javascript src="http://[host]/_layouts/1033/core.js" defer type=text/javascript></SCRIPT>
</HEAD>
<BODY scroll=yes onload="NavigateHttpFolderIfSupported('http:\u002f\u002f[host]\u002fsites\u002f[site]\u002fShared Documents', 'expFrame');">
<FORM id=aspnetForm name=aspnetForm>
<IFRAME id=expFrame name=expFrame width=800 height=500></IFRAME>
</FORM>
</BODY></HTML>

它可能会做得更整洁一些,但它确实有效。

【讨论】:

【参考方案2】:

虽然您可能认为某些 ActiveX 控件需要来自 Sharepoint 的特殊内容,但 Explorer View 有点直接融入 IE。只要您之前曾在 Windows 会话中的 SharePoint 中使用过它,只需执行以下操作即可为您提供资源管理器视图框架:

<iframe src="\\path\to\sharepoint\webdav\folder">

只要页面托管在本地或您的 Intranet 上,您也可以使用任何有效的 Windows 资源管理器路径来执行此操作。只需尝试使用以下内容制作本地测试 html 文件:

<iframe src="c:\">

请注意,这样做会遇到一些问题,因为需要将身份验证传递给 SharePoint。我发现的最好方法是从 Sharepoint 复制 core.js,删除其中的所有内容,但导航内容除外,并删除这些方法中对不可用内容的任何调用,然后使用 NavigateHttpFolderIfSupported() 导航到“http://path/to/sharepoint/webdav/folder ”。

我使用此方法遇到的唯一问题是与 IE8 不兼容,因此请注意这一点。我相当肯定它必须与跨站点脚本保护和 core.js 中的调用有关,但整个文件感觉非常像 rube-goldberg-esque,我不想弄乱它。

【讨论】:

以上是关于非 SharePoint 页面上的资源管理器视图的主要内容,如果未能解决你的问题,请参考以下文章

sharepoint service 3.0中multi upload如何设置

带有常用按钮菜单栏的 Sharepoint 2013 列表视图

Office365 网站上的 Sharepoint Designer

怎样才能资源管理器视图

Sharepoint 2010 客户端对象模型 - 将列表数据分配给网格视图

SharePoint 2010 - 页面查看器