単純な静的Webパーツを作成する必要があります-唯一の動的パーツは現在のユーザーログイン名です(リンクのURLパラメーターに含める必要があります)。
デプロイする必要のあるカスタムWebパーツではなく、コンテンツエディターWebパーツを使用したいだけです。実際、私はすでにJavaScriptとActiveXを使用してそれを行いました(WScript.Shell
-以下の完全なコード)
それを行うためのより良い、よりネイティブな方法はありますか?ActiveXアプローチについて私が気に入らないのは、IEのより自由な構成が必要であり、セキュリティ設定でActiveX関連のすべてを有効にしても、クリックする必要のあるプロンプトが表示されることです。クロスブラウザのサポートは大きな問題ではなく、イントラネットですが、追加機能としても便利です。
私が考えることができる1つの方法は、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>