간단한 정적 웹 파트를 만들어야합니다. 유일한 동적 부분은 현재 사용자 로그인 이름입니다 (링크의 URL 매개 변수에 포함되어야 함).SharePoint 2007의 클라이언트 측에서 현재 사용자 이름을 얻으십시오.
배포해야 할 사용자 지정 웹 파트 대신 콘텐츠 편집기 웹 파트를 사용하고 싶습니다. 실제로 JavaScript와 ActiveX를 사용하여 이미 수행했습니다. (WScript.Shell
- 전체 코드)
더 좋은 방법은 없습니까? 내가 ActiveX 방식에 대해 좋아하지 않는 점은 IE의 자유로운 구성이 필요하다는 것입니다. 보안 설정에서 ActiveX와 관련된 모든 것을 활성화 할 때도 클릭 할 필요가있는 프롬프트가 있습니다. 크로스 브라우저 지원은 중요한 문제가 아니며 인트라넷이지만 좋은 추가 기능입니다.
내가 생각할 수있는 한 가지 방법은 jQuery (또는 자바 스크립트)를 사용하여 오른쪽 상단 모서리에서 사용자 이름을 긁어내는 것입니다. 그러나 더 깨끗한 것도 있습니다. 아니면 누군가가 이미 스크래핑을 수행하고 나에게 ;-)
여기 내 현재 솔루션의 시간을 절약 할 수있는 코드를 공유 할 수 있습니다
<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>