2009-05-07 5 views
0

Est-ce que quelqu'un sait s'il est possible d'intégrer l'explorateur pour une bibliothèque de documents dans une page en dehors de l'hôte SharePoint site? Je voudrais faire apparaître cette fonctionnalité dans une application ASPX indépendamment de SharePoint. Je suis au courant des services Web disponibles, la question concerne l'intégration de la fonctionnalité d'affichage des dossiers, pas de communication par programme avec SharePoint.vue Explorer sur une page non-SharePoint

Répondre

1

Je fini par déconstruire le l'explorateur d'origine et distillés il à ce qui suit:

<!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> 

Il pourrait probablement se faire un peu plus propre, mais cela fonctionne certainement.

1

Alors que vous pourriez penser que c'est un contrôle ActiveX qui nécessite des choses spéciales de Sharepoint, Explorer View est un peu cuit dans IE. Tant que vous avez déjà utilisé dans SharePoint dans une session Windows, aussi peu que ce qui suit vous net un cadre Explorateur:

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

Vous pouvez faire cela avec assez bien valide tout chemin Explorateur Windows et , à condition que la page soit hébergée localement ou sur votre intranet. Juste essayer de faire un fichier html de test local avec quelque chose comme:

<iframe src="c:\"> 

Rappelez-vous que vous allez rencontrer des problèmes qui font comme ça, étant donné que l'authentification doit être passé à SharePoint. La meilleure façon que j'ai trouvé est de copier core.js de Sharepoint, découpez tout, mais les trucs de navigation et de supprimer tous les appels à ces méthodes pour les choses ne sont pas disponibles, puis utilisez NavigateHttpFolderIfSupported() pour naviguer vers « http://path/to/sharepoint/webdav/folder ».

Le seul problème que j'ai eu avec cette méthode est certaines incompatibilités avec IE8, alors attention à cela. Je suis à peu près certain qu'il doit y avoir une protection contre les scripts inter-sites et un appel à l'intérieur de core.js mais tout ce fichier est très rube-goldberg-esque et je ne veux pas le tripoter.

Questions connexes