Мне нужно создать простую статическую веб-часть - единственной динамической частью является текущее имя пользователя (должно быть включено в параметр URL в ссылку).Получить текущее имя пользователя на стороне клиента в SharePoint 2007
Я бы предпочел использовать веб-часть редактора контента вместо пользовательской веб-части, которую мне нужно будет развернуть. Фактически, я уже делал это с использованием JavaScript и ActiveX (WScript.Shell
- полный код ниже)
Есть ли лучший, более родной способ сделать это? Что мне не нравится в ActiveX-подходе, так это то, что для этого требуется более либеральная конфигурация IE, и даже когда я включаю все связанные с ActiveX в параметры безопасности, есть еще одно приглашение, которое нужно щелкнуть. Поддержка кросс-браузера не является серьезной проблемой, это интрасеть, но она также будет приятной.
Один из способов, которым я могу придумать, - очистить имя пользователя в правом верхнем углу с помощью jQuery (или просто JavaScript), но есть ли что-то еще более чистое? Или, может быть, кто-то уже сделал соскоб и может поделиться код, чтобы спасти меня некоторое время ;-)
Вот мое текущее решение:
<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>