Je dois créer un composant Web statique simple - la seule partie dynamique est le nom de connexion de l'utilisateur actuel (doit être inclus dans un paramètre d'URL dans un lien). Je préfère utiliser un composant WebPart Éditeur de contenu au lieu d'un composant WebPart personnalisé que je devrai déployer. En fait, je l'ai déjà fait en utilisant JavaScript et ActiveX (WScript.Shell
- code complet ci-dessous)Obtenir le nom d'utilisateur actuel côté client sur SharePoint 2007
Y at-il une meilleure façon de le faire? Ce que je n'aime pas dans l'approche ActiveX, c'est qu'elle nécessite une configuration plus libérale de IE, et même quand j'active tout ce qui est lié aux ActiveX dans les paramètres de sécurité, il y a toujours une invite à cliquer. La prise en charge de plusieurs navigateurs n'est pas un problème majeur, c'est un intranet, mais ce sera un bon ajout. Une façon dont je peux penser est de gratter le nom d'utilisateur du coin supérieur droit avec jQuery (ou juste JavaScript), mais y a-t-il quelque chose d'encore plus propre? Ou peut-être que quelqu'un a déjà fait le grattage et peut partager le code pour me sauver un peu de temps ;-)
Voici ma solution actuelle:
<script language="javascript">
function GetUserName()
{
var wshell = new ActiveXObject("WScript.Shell");
var username = wshell.ExpandEnvironmentStrings("%USERNAME%");
var link = document.getElementById('linkId');
link.href = link.href + username.toUpperCase();
}
</script>
<P align=center>
<a id="linkId" onclick="GetUserName();" href="<my_target_URL>?UserID=">open username-based URL</a>
</P>